如何评价

如何评判代码质量

首先,我们应当避免采用抽象词汇来评判代码质量,例如我们要避免说代码优雅、好、坏等等,而是应当有目的性,以及功能性的去评判代码。

一个思路是采用下面的形容词。

可维护性以及可扩展性

就是修bug,或者增加修改功能的容易程度,可以采用时间这个单位来衡量。这个当然因人而异,但是对于同一个工程师来说,面临两段代码开发维护的难易程度还是可以通过对比得出结论的。

可扩展性与可维护性相关,有一个很好的检验就是当别人需要维护你的代码的时候,是否能够轻易上手。

可读性

这个可以通过被提问次数以及被提问问题初级程度来反馈。如果经常被提问代码的目的性和使用场景,就要好好考虑是否需要提高代码可读性,当然也可以通过在团队内部取得共识来降低共同开发交流成本。

简洁性

相信很多优秀的工程师都会追求这个目的,需要注意的是,最好采用多版本迭代,遵循make it work and then make it fast原则。

当然最终目的一般都是keep it simple, studpid的kiss 原则。

可复用性

一般遵循DRY, dont repeat yourself,这个其实是很多设计模式想解决的以及想实现的目的。

可测试性

这个异常重要,我个人的经验是,测试异常非常重要,测试保证程序产出和预想设计一致,有些测试,例如单元测试可读性挺高的,可以帮助提高可维护程度。本身测试也是一个backward compatible的很好的工具。

Next