如何衡量一个人的 JavaScript 水平?

  • 作者:陈大鱼头
  • github: KRISACHAN

前言

之前刷知乎的时候,看到这么一个问题:“如何衡量一个人的 JavaScript 水平?”然后自己也不要脸地回答了一下这个问题。以下是我的答案:

如何衡量一个人的 JavaScript 水平?_第1张图片

原文如下:

A:看一个人写代码是否有规范,代码是否壮健,是否可拓展,可读性高不高,API设计是否合理。

这些都是长年累月积累下来的且独立于编程语言以外的。

远比把什么手写bind,原型链,闭包给背下来更有价值。

这才是证明你代码水平的关键点。

Q:在面试的时候如何快速判断出呢?

A: 让面试者设计个组件,不用写,回答就行。从API设计,文档编写,项目结构,单元测试,编写模式,性能优化等方面来回答。

有工作经验的人,基本业务逻辑都能写,但是写的好不好,就是经验跟能力以及学习力的体现 。

个人说明

首先来个免责声明,以上的回答都是个人的经验与见解,答案肯定不唯一,甚至不一定全对,所以求轻喷。

上面问如何在面试的时候快速判断对方是否是高级前端的时候,我为什么说是“设计组件”呢?

因为我觉得有一定实力的前端来说,“组件”这个概念是绕不过的,或者看过开源组件的源码,或者自己写过组件。

对于一般的业务问题,我相信作为一个从业了一定时间的开发者,无论水平如何,这都不是问题,但是如何区分这个开发者的水平,可以通过他写的代码来判断,当然也不完全是,毕竟在996或者赶进度的时候,很容易就会为了完成快速出产品而写,这种情况下代码质量跟个人水平不一定能体现。

下面,我们以设计一个“按钮(

单元测试

在我们开发的过程中,有一道麻烦但又必不可少的工序就是单元测试,这时候单元测试的库我们是怎么选?用Jest还是Mocha?测试用例怎么写?如何模拟点击或者异步响应?是否需要快照(snapshots)?这也是在我们的考虑范围内。

所以我们的测试脚本可能长这样:

import Button from './componenet/Button'
import { shallow } from 'enzyme'

describe('

其它

其它的诸如开发文档,使用文档,版本迭代,项目配置,打包开发优化,以及其他自动化的功能,也是我们所需要考虑。

总结

以上便是我们在开发一个“按钮(

你可能感兴趣的:(JS相关)