代码走查规范表

发布时间:2017-1-17 20:59:19 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"代码走查规范表",主要涉及到代码走查规范表方面的内容,对于代码走查规范表感兴趣的同学可以参考一下。

代码走查要点规范表 评审对象   作者   评审人   评审工作量   序号 检查项 评审意见 走查前准备   1 得到一份解释代码的最新的设计文档         2 代码都已提交 ,版本统一     程序结构组织   1 所有代码的结构清晰,具有良好的结构外观和整齐   2 所有的模块(函数和外部接口)定义清晰,模块分解清楚    3 所有的功能需求都明显的覆盖    4 结构设计能够满足机能变更    是“机能变更”还是“功能变更” 5 整个代码体系结构组合合理    6 所有主要的数据构造描述清楚,合理    7 模块中所有的数据结构都定义为局部的,并且通过定义好的函数进行访问    8 所有的接口模块化,因此修改时不影响其他代码模块         9 代码体系构架对空间和速度都已经进行考虑       10 提供了处理数据的策略       11 数据库操作、IO操作等是否正确关闭资源。并且必须在try -catch-finally 的finally中关闭。   12 一个业务如果进行多次数据库更新、添加、删除是否正确添加事务。   13 进行逻辑与、逻辑或判断时是否使用短路与、短路或。   14 多处使用相同代码时,应定义唯一方法或变量以供使用。   15 对象是否使用工厂获取。   16 导入类时,如果仅使用包中的几个类,应导入具体类,而不是导入整个包。   17 数组声明的时候使用 int[] index ,而不要使用 int index[]。   18 检查代码和详细设计是否一致。   19 检查类中是否有无效的代码或者是无用的代码。   20 不要使用System.out.print()输出,需要进行日志处理 也不能使用System.err 21 类的生成是否都有工厂模式而不是直接调用。   22 所有的文件名符合文件命名规范,见名知意    23 文件和模块分组清晰          24 所有的代码行在80字符以内    25 每个程序文件都小于2000行    代码组织    1 数据库查询语句不要出现select *   2 对需要处理的字符串定义为StringBuffer ,常量定义成静态的。   3 所有的变量名都小于32字符       4 每行代码都小于80字符    5 类名、方法名、变量名的命名是否规范。   6 有返回值的方法是否正确返回。Return语句应定义在方法结尾处。   7 代码排版是否规范。   8 所有的行每行最多只有一句代码或一个表达式       9 复杂的表达式具备可读性    10 续行缩进    11 括号在合适的位置       12 每个顺序的小块用空行隔开    13 注释和代码对齐或接续在代码之后    14 JSP必须不能有basepath。   15 JSP引用js全部要有path   16 JSP用的标签库是否都正确引用。   17 JSP写的js方法必须要有注释。 代码是否可读。   18 代码的逻辑是否有问题。   19 JSP页面尽量不要写过多的隐藏域。   20 JSP页面要注意排版、必要的注释、尽量减少使用alert(),JS 和CSS除非必要就放到外部的单独文件中,在JSP中引用。   21 类常量是否使用public static final修饰。   22 实例变量是否使用private修饰并定义getter、setter方法。   23 连接数据库的方法必须调用公用的方法。   24 异常要统一处理,异常处理方法是否符合项目组的约定   25 在Action中不要过多的逻辑处理代码   26 不要出现魔鬼数字   27 检查可能出现空指针异常的地方,例如一个对象可能为空,却调用它的方法或属性。   28  显示的文本无拼写和语法错误    29 代码与操作符的优先级无关   30 所有的表达式使用了正确的操作符    函数组织   1 所有的函数名都小于64个字符    2 代码中有相关注解         3 函数的名字清晰的定义了它的目标以及函数所做的事情    4 函数中所有的部分都合理的组成函数,相关独立的语句组组成函数    5 函数高内聚 只做一件事情,并做好      6 函数和其他代码松耦合   7 参数遵循一个明显的顺序;    8 所有的参数都被使用    9 函数的参数接口关系清晰       10 如果一个函数有返回值,在所有的出口都有返回值            11 函数使用了最少数目的return语句    12 函数的参数个数小于7个    13 使用的算法说明清楚    14 函数检查了输入数据的合法性       15 函数异常处理清楚    16 函数设计已经考虑了将来的变化      17 调试信息存在于代码中并容易激活      18 代码检查调用函数的返回值,参数和调用匹配           19 函数确保了没有影响函数外代码           20 递归定义了出口            21 递归局限于一个函数            22 对接口的调用必须要有判断传入的参数不能为空和传入的参数正确。   数据类型与变量    1 数据类型存在数据类型解释              2 代码避免了重新定义预先定义的数据类型            3  静态变量明确区分    4 每一个变量都初始化了       5 命名和现实生活中的事务接近而不仅仅是一个程序类型            6 所有的变量都有最小的活动范围    7 所有的全局变量都描述清楚          8 所有的变量都用到了       条件判断    1 条件检查和结果在代码中清晰            2 If/else 使用正确       3 判断的次数降到最小      4 boolen表达式表示清楚       5 最常用的情况最先判断 ,所有的情况都考虑       6   判断体足够短,以使得一次可以看清楚 ,不要有臃肿的逻辑判断。   7 嵌套层次小于3次    8 判断条件使用引用时,应先判断其是否为null。   循环      1 17.不要出现三层以上的for循环。如有必要必须写清楚注释   2 循环体不为空,循环体能够一次看清楚       3 循环之前做好初始化代码       4 当有明确的多次循环操作,使用For循环          5 当有不明确的多次循环操作,while循环被使用   6 代码中不存在无穷次循环       7 循环的头部进行循环控制       8 循环体内的循环变量起到指示作用。   9 所有的循环边界是否正确;   10 循环终止的条件清晰       11 循环条件、判断条件的边界值,数组、集合下标是否越界。   注释     1 类、方法、判断条件、循环、主要变量是否添加注释。   2 类名、方法名、变量名的命名是否规范。   3 有返回值的方法是否正确返回。Return语句应定义在方法结尾处。   4 源代码能够自我解释 ,每个人看到代码就能很快理解                    5 解释不过于简单,解释说明代码功能,准确描述代码意义   6 注解清楚正确 ,注解为用户服务       7 所有的假设和限制进行注解   8 长的控制体结束,进行注解       9 类、方法、变量等注释是否符合规范,注释是否能够清晰明了   10 对if和for、while等要进行必要的注释,并且方法体都要用{  }包起来   11 代码的注释不能过于简单。要清晰明了,提交的时候必须写清楚修改的功能点和为什么要修改。   总括    1 代码直观            2 无用的代码、注解已经删除       3 除非必要,不要再循环体内定义对象。   4 代码是否与详细设计一致。   其他注意项   1 尽量减少同名的类(如java.sql.Date,java.util.Date)   2 不要在循环中反复定义创建变量 for(){String str= (new String)v.next();}   3 不要在循环中使用复杂的计算 for(int i=0;i<en.size()i++){}   4 可能重复执行的SQl语句尽量使用preparedStatment   5 浮点型要精确比较时不要使用==,而如下进行 Math.abs(x-0.0)<Double.MIN.value*2   6 在sql中注意敏感的单词要回避使用 DB2 中id flag year month name state Oracle 中number Sybase中 count   7 代码与操作系统无关,不需要任何假设条件   特殊    1 所有的数组访问在它们的边界内                           2 所有常量定义和使用替代代码中的数字     表述模糊 3 类型转换明确指明    

上一篇:有序数组转二叉排序树
下一篇:STL之缓冲区迭代器

相关文章

相关评论