本文主要是介绍代码走读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
代码走读原则
一:准备工作
| 结论(是 / 否) |
1:目录层次结构是否遵循标准? |
|
2:流程图是否清晰?是否能从流程图判断该模块的结构? |
|
3:注释文档是否清晰完全? |
|
4:readme文档是否遵循标准? |
|
5:是否可在模拟器上运行? |
|
二:程序结构:
| 结论(是 / 否) |
1:代码是否按照功能模块化? |
|
2:标准数据的操作是否单独封装在一个文件,与gui解耦? |
|
3:配置文件的操作是否单独封装在一个文件,与gui解耦? |
|
4:涉及的独立的算法是否单独封装在一个文件,与gui解耦? |
|
5:每个窗口界面是否单独封装在一个文件? |
|
6: .c必须用相应的.h给外部引用函数、数据、对象等 |
|
7:所有代码的结构是否清晰,具有良好的结构外观和整齐? |
|
8:所有的模块都定义得很好,包括函数和外部接口? |
|
9:每个文件是否只包含一个模块的代码? |
|
10:文件的命名是否可以体现出该文件的作用? |
|
11:你觉得这个体系结构舒服吗? |
|
三:函数检查
| 结论(是 / 否) |
1:函数的名字是否清晰的定义了它的目标以及函数所做的事情? |
|
2:函数是否高内聚只做一件事情,并做好? |
|
3:函数中的语句是否都在同一个抽象级上? |
|
4:函数的参数是否合理,能否尽量控制在3个以内,必要时可以超过3个; |
|
5:输出参数是否合理? |
|
6: 在保证代码清晰的前提下,函数是否使用了最少数目的return语句,除非不可以? |
|
7:是否有重复代码?或者相似的代码可以分离出来? |
|
8:你觉得这个函数看起来舒服吗? |
|
四:变量
| 结论(是 / 否) |
1:变量的命名是否完全的、明确的描述了该变量代表什么? |
|
2:程序是否使用了特别的、易误解的、发音相似的命名? |
|
3:是不是所有的变量都有最小的活动范围? |
|
五:注释
| 结论(是 / 否) |
1:每个文件和模块是否解释? |
|
2:源代码是否自我解释? |
|
3:解释是不是仅仅作为代码的重复?解释的过于简单? |
|
4:注解是否清楚正确? |
|
5:注解是否为读者服务? |
|
六:资源
| 结论(是 / 否) |
1:IO操作是否释放资源? |
|
2:数据库连接是否释放? |
|
3:socket连接是否正确关闭? |
|
4:内存空间是否出现陡峰? |
|
5:连接数是否达到预期要求? |
|
6:分配的空间是否会造成系统负荷工作? |
|
7:数据库锁是否会被占用导致阻塞? |
|
七:服务
| 结论(是 / 否) |
1:业务流程是否进行划分? |
|
2:服务是否进行拆分? |
|
3:服务之间是否紧耦合? |
|
4:服务是否具有可扩展性? |
|
5:服务是否为分布式服务? |
|
6:服务是否有相应的服务文档? |
|
7:服务安全性是否有保证? |
|
8:服务是否可独立运行? |
|
八:架构
| 结论(是 / 否) |
1:是否面向接口编程? |
|
2:是否是服务型架构? |
|
3:数据库是否进行主备备份? |
|
4:数据库是否进行读写分离? |
|
5:应用层是否设置缓存? |
|
6:容错性是否考虑? |
|
7:是否可扩展(水平和垂直扩展)? |
|
8:是否对系统进行监控? |
|
9:是否对高并发进行处理(削峰填谷等措施)? |
|
这篇关于代码走读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!