综述:如何发现代码质量问题,可以从以下两个维度来进行,可以作为参考。
一、非业务性判断(纯技术角度)
1、目录设置是否合理、模块划分是否清晰、代码结构是否满足“高内聚、松耦合”?
2、是否遵循经典的设计原则和设计思想(SOLID、DRY、KISS、YAGNI、LOD 等)?
3、设计模式是否应用得当?是否有过度设计?
4、代码是否容易扩展?如果要添加新功能,是否容易实现?
5、代码是否可以复用?是否可以复用已有的项目代码或类库?是否有重复造轮子?
6、代码是否容易测试?单元测试是否全面覆盖了各种正常和异常的情况?
7、代码是否易读?是否符合编码规范(比如命名和注释是否恰当、代码风格是否一致等)?
二、业务性判断
1、代码是否实现了预期的业务需求?
2、逻辑是否正确?是否处理了各种异常情况?
3、日志打印是否得当?是否方便 debug 排查问题?
4、接口是否易用?是否支持幂等、事务等?
5、代码是否存在并发问题?是否线程安全?
6、性能是否有优化空间,比如,SQL、算法是否可以优化?
7、是否有安全漏洞?比如输入输出校验是否全面?