代码走读
2016-10-08 22:44
246 查看
代码走读原则
一:准备工作
| 结论(是 / 否) |
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:是否对高并发进行处理(削峰填谷等措施)? | |
相关文章推荐
- Android 中的WiFi学习笔记(转载)----WIFI启动 代码流程走读---网络连接流程
- 项目管理和质量控制之代码走读与审查
- android学习笔记5 android按键事件处理代码走读[framework]
- OpenStack-Cinder创卷代码走读(Grizzly)
- OpenStack-Cinder卸卷接口代码走读(Grizzly)
- OpenStack-Cinder强制卸载卷接口代码走读(Grizzly)上
- Android 中的WiFi学习笔记(转载)----WIFI启动 代码流程走读---网络连接流程
- OpenStack-Cinder创卷代码走读(Grizzly)中
- OpenStack-Cinder创卷代码走读(Grizzly)END
- 代码走读的意义
- Android 中的WiFi学习笔记(转载)----WIFI启动 代码流程走读---网络连接流程
- 代码走读的重要性
- android学习笔记5 android按键事件处理代码走读[framework]
- LUA注册简单C++类代码走读
- CAS单点退出代码走读
- python 文件代码走读。
- memcache代码走读:接入模型
- 4.0Wifi加载流程,走读代码
- OpenStack-Cinder挂卷接口代码走读(Grizzly)
- Quartz源码走读。主代码之间的关系