如何提高代码质量?( 九 )

奇葩

重要 数据。所以 logs 求充足具体,要像辞海一样广而全 —— 比如当 metrics 告诉我们,问题出在我们并不清楚茴香豆的「茴」字时有几种写法,logs 能够帮助我们快速翻出来有用的那段,然后找出「茴」的四种写法。

logs 兼具给人看,和给机器分析两种效用,因而,最好要固定格式,以方便机器分析;但又不要用类似 JSON 的供机器阅读的方式,如果不配合一个好用的 parser,当人阅读时像是韩式整容过的足球宝贝,或者被抽干了形容词的句子,每个都长得一个模样,需要摘了眼镜用放大镜仔细找不同。

通过合理的 metrics 和 logs,测量变得唾手可得。这便释放出来我们不断迭代不断改进的能力。同样起点的代码,同样水准的程序员,一个一周迭代一次,一个一天迭代一次,其累进的质量在若干周期之后,会有质的变化。

代码清晰度和代码复杂度

如果上面几个方面都做好了,代码的质量再差也是有下限的。这个下限可以通过严格使用 linter 和不断提升对所用语言的掌握来提高。就好比一个会独立思考并勤于思考的人,他的文章值得一读,也许从遣词造句,从修辞手法,从原起承提来说,他还稚嫩,但那是下限,并且是很容易提升的下限。