一. 背景
我们经常在Code Review的时候经常不知道怎么CodeReview,或者说写代码的时候怎么写出很棒的代码,更多的是靠我们的经验和感觉。通过自己积累的知识,来看代码是否符合自己心中的直觉。但是,很迷茫,因为自己也不能说出所以然。今天捡了个漏,看了别人的CheckList,觉得很棒,让自己的思考、行为有迹可循,知其然,知其所以然。所以记录下来,分享给大家。
二. Check List
2.1 如何发现代码问题
如何发现代码中现有哪些问题?主要由以下几种情况。分别是:
- 目录设置是否合理、模块划分是否清晰、代码结构是否满足“高内聚,低耦合”?
- 是否遵循经典的设计原则和设计思想(
SOLID、LOD(六大设计原则)
、DRY、KISS、YAGNI等)? - 设计模式是否运用得当?是否有过度设计?
- 代码是否易扩展?如果要添加新功能,是否容易实现?
- 代码是否可以复用?是否可以复用已有的项目代码或类库?是否有重复造轮子?
- 代码是否易测试?单元测试是否覆盖各种正常或异常的情况?
- 代码是否易读?是否符合编码规范(比如命名和注释是否恰当、代码风格是否一致等)?
上面的这些情况,如果认真思考,就会发现,也符合架构设计原则。如:是否有过度设计、易扩展、可复用、易测试等,不论是业务架构,或者技术架构我们都是需要考虑到这些的,知识需要从更高层次考虑。这里主要说代码问题,我们就不大量展开。
2.2 如何发现代码质量问题
针对如何发现代码质量问题,主要由以下几种情况。分别是:
- 代码是否实现了预期的业务需求?
- 逻辑是否正确?是否处理了各种异常情况?
- 日志打印是否得当?是否方便debug排查问题?
- 接口是否易用?是否支持幂等、事物?
- 代码是否存在并发问题?是否线程安全?
- 性能是否有优化空间?比如:是否可以异步、SQL、算法等。
- 是否有安全漏洞?如:XSS
这些主要从性能、安全方面考虑。在满足业务的前提下,我们可以尽可能的从各方面提升代码安全性能,保证非业务功能正常、高效、
三. 总结
代码的优化,性能的提升是从细小的方面开始,也是体现攻城狮技术的一种方式。我们应该多注意细节,提升自己的思考方式。