您的位置:首页 > 编程语言

代码走读

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:是否对高并发进行处理(削峰填谷等措施)?

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  代码审查 checklist