代码走读

                              代码走读原则

一:准备工作

 

  结论(是 / 否)

1:目录层次结构是否遵循标准?

 

2:流程图是否清晰?是否能从流程图判断该模块的结构?

 

3:注释文档是否清晰完全?

 

4readme文档是否遵循标准?

 

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

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来了就走下去

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值