这是我昨天晚上刷知乎时看到的一个问题,前端 Code Review 真的很难推行吗?

虽然我简单的回答了一下,但是觉得这个问题可以说得更多。所以就趁着周末,写一篇文章吧。

这个问题其实分为两个小问题:

  • 如何推动 Code Review?
  • 如何实施 Code Review?

当然,就如同我在知乎里回答问题时所设立的前提一样:只说创业公司和小团队。 一个原因是我确实只在创业公司和小团队呆过,另一个原因是符合题主的提问。 不过,最重要的原因是:创业公司和小团队会给 Code Review 带来的影响。 有哪些影响呢:

  • 创业公司:业务快速迭代,需求多,工期少;
  • 小团队:人手不足,可能会存在人员水平不同的情况;

结果呢:

  • 没有 Code Review 意识,只要代码能跑,没 Bug 就行;
  • 代码质量不高,包括老代码和新代码;
  • Review 效果不好,Review 前后没有差别;

推动

不光是 Code Review,学会如何推动事情是很重要的。

最直接且最坏的办法就是:找 Leader 求支持。 为什么这样说:如果 Leader 不支持,那直接 GG;如果 Leader 支持,那么完美。

我认为最好的办法就是自己把脏活累活干完,让小伙伴短时间内无痛转换。

对于 Code Review 来讲就是把以下事情统统搞定:

  • 对比各种 Code Review 工具;
  • 写关于 IDE 插件配置,SublimeText、Atom、VSCode、WebStorm 等;
  • 找规范,看规则,写代码风格和代码规范;
  • 制定 Code Review 流程;
  • 开培训讲座,扫盲;
  • 找志同道合的小伙伴,制造舆论;

但是这个办法很笨,要付出很多时间和精力。举例来说, ESLint 那么多的规则,不求全部过一遍,但求心里有数。 至少能够在使用 ESLint 的过程中迅速解决小伙伴们的疑问。

事情推不起来,就是没人支持,即使这个事情是好事。人都是有惰性的。 我们做了这么多事情就是为了获得大家的支持。有点脑子的人都知道的 Code Review 的好处,只不过他们不愿意做罢了。

我在故意没有提“前端”,因为“推动 Code Review”这件事和前端不前端没关系。

实施

把握几个原则:

  • 能用工具解决,就不要靠肉眼。代码风格,比如:缩进、花括号;
  • 尽可能的消灭异端;
  • 找现阶段能够给到最好的解决办法,不求完美的解决办法;
  • 新代码严格要求,老代码逐步修改;
  • 不要懈怠;

最最重要的是:提高自身水平,多看书,多思考怎么才能写出更好的代码。 多看些关于 “Bad Small Code”,和 “Best Practice” 的文章。 当你看自己写的老代码很屎的时候,这意味着你成长了。

参考

这些文章或者链接都是我觉得很好的:

  • https://zhuanlan.zhihu.com/p/21807979
  • https://www.zhihu.com/question/41089988

可能我这篇都是瞎扯。

以上。