代码评审表模板.docx
《代码评审表模板.docx》由会员分享,可在线阅读,更多相关《代码评审表模板.docx(3页珍藏版)》请在冰点文库上搜索。
代码评审清单(CodeChecklist)
版本:
1.0
产品/项目组名称:
宅急送产品/项目名称:
公共版本号:
1.0
被检查人签字:
检查内容:
___ ______
检查人签字:
___________检查日期:
_ ____
说明:
类清单
被检查类名
模块名称
产品名称
检查项
常规
是
否
程序是否明确地注释了其实现功能
注释格式是否正确
程序单元是否承担单一职责
复杂程序是否合理地分解为子程序
程序中接口定义是否明晰
异常处理是否符合规范
包名、类名命名是否符合规范
方法名命名是否符合规范
变量/常量
是
否
相关系列变量是否统一集中声明,自定义数据类型变量是否进行了必要而充分的描述
变量是否按相关规范进行了命名(有意义的命名、数据类型的区分等)
变量是否按其命名含义承担了单一的使用目的,必要时是否清晰定义了额外变量
变量引用是否正确关闭
常量是否使用getter/setter方法访问
是否应用良好定义的枚举类型替代了简单的字符标识或布尔变量使用
UFBoolean是否使用UFBoolean构造函数进行构造
处理可变String时是否未使用StringBuffer
是否优先使用Java标准库提供的容器(ArrayList、HashSet、HashMap、LinkList)来处理顺序结构、集合、关联数组合堆栈队列
对数组的使用场景是否正确
对于public尽量谨慎使用
不同作用域变量名称尽量不要相同
算法
是
否
数据结构是否合理、精简
算法是否可以独立测试,是否与数据库和其他算法隔离
是否尽量避免了嵌套的运用
复杂逻辑是否进行了必要而充分的注释
控制
是
否
代码执行路径是否清晰
Switch语句是否有缺省分支
控制逻辑复杂度是否合理,是否进行了必要而充分的注释
每个循环体是否仅执行了单一而明确的功能
与常数比较需要将常数放在比较表达式的前面
布局
是
否
代码是否良好格式化并能体现其逻辑结构
设计
是
否
程序是否可读、可扩展并健壮
具体实现细节是否已尽可能的“隐藏”
是否优先使用接口而不是抽象类或具体类
方法参数是否在5个以内
方法慎用public修饰符
对于不需要子类来重载的类尽量使用final
对象作用域是否过大
效率
是
否
尽量不要在循环内出现远程调用
每个业务动作远程调用次数是否小于3次
远程调用数据传输是否有不必要的冗余数据
SQL
是
否
Sql语句小写
引用字符使用单引号
严禁使用select*形式的语句,必须指出具体字段
严禁使用insertintotablevalues(?
,?
,?
),必须指出具体要赋值的字段
避免隐含的类型转换(不同数据类型字段相加)
子查询前后必须加上括号
避免在where使用’1=1’,’1=2’这种表达方式作为部分条件
禁止使用视图
禁止使用XXin()orXXin()(in中的元素个数不应超过500)
禁止使用or超过500个
禁止使用notin,建议使用notexist
禁止在一条sql语句中使用3层以上的嵌套
如果有多表连接时,应该有主从之分,尽量从一个表取数
Where子句过滤条件,索引列或过滤记录最多的条件应该放在前面
字符串连接必须使用“||”
Casewhen语句中只能出现=、>=、<=以及isnull运算符
左连接写法必须带”outer”关键字
Sql中函数是否在指定范围内
Join与on必须严格匹配
问题清单
问题描述
预计修改日期
修改日期
检查人签字