代码走查检查表

合集下载

代码走查检查表

代码走查检查表
4
整个代码体系结构组合合理,分层清晰,代码之间功能划分明确
5
所有的接口模块化,尽量减少接口之间的耦合度,修改时尽量不影响其他代码模块
6
代码体系构架对空间和速度都已经进行考虑
7
数据库操作、IO操作等是否正确关闭资源。并且必须在try -catch-finally 的finally中关闭。
8
一个业务如果进行多次数据库更新、添加、删除是否正确添加事务。
代码走查检查表
评审日期:年 月 日
评审对象
作者
评审人
评审工作量
序号
检查项
评审意见
走查前准备
1
得到一份解释代码的最新的设计文档,作为代码走查的参考
2
代码都已提交 ,版本统一
程序结构组织
1
所有代码的结构清晰,具有良好的结构外观和整齐
2
所有的模块(函数和外部接口)定义清晰,模块分解清楚
3
所有的功能需求都明显的覆盖
1
类、方法、判断条件、循环、主要变量是否添加注释。
2
类名、方法名、变量名的命名是否规范。
3
有返回值的方法是否正确返回。Return语句应定义在方法结尾处。
4
源代码能够自我解释,每个人看到代码就能很快理解
5
解释不过于简单,解释说明代码功能,准确描述代码意义6所有的假Fra bibliotek和限制进行注解
7
长的控制体结束,进行注解
新增
all
孟洋涛、郑海焘
郑博
1.1
2012-5-28
根据各项目组评审出问题进行修改
all
孟洋涛
郑博
14
递归局限于一个函数
15
对接口的调用必须要有判断传入的参数不能为空和传入的参数正确。

代码检查表

代码检查表
代码检查表
# 通用版面风格 1 2 3 编写格式是否一致? 是否有可读性并易于维护? 文件是否过长? 检查项
ቤተ መጻሕፍቲ ባይዱ
通用代码编写规范 1 2 3 4 5 6 文件、变量以及方法命名是否统一且有意义? 是否用定义的常量代替实际的数据或字符串? 是否存在没有使用到的变量、代码或文件? 逻辑控制是否正确、简洁? 是否对异常进行了处理? 对外接口的输入输出参数是否进行了校验、记录?
通用注释规范 1 2 3 4 注释是否清晰、简洁,有助于他人对代码的理解? 注释是否解释了代码的目的,或总结了代码所要完成的工作? 注释是否与代码同步? 是否描述了文件目的、作者与修改记录?
是/否/不适用
是 是 是
是 是 否 是 是 是
否 是 是 是

代码走查检查单

代码走查检查单
3
编码时间 模块名称 测试完成日期
代码走查

能。 化为局部变量。 系。 英文单词和拼音混写。
用同样的名称。
为单位,Tab键为4个空格。
文件编码 制表时间
□ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合
■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合 ■ 符合
4
。 定义过的常量。
□ 不符合 □ 不符合 □ 不符合 □ 不符合
□ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合
■ 符合 ■ 符合 ■ 符合 ■ 符合
开至少两个Tab键。
的1/5~1/3。
段空一行; 要描述。
□ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合 □ 不符合
□ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合 □ 基本符合

502代码检查表

502代码检查表
代码检查表
表格编号:ZJITD-502-项目编号-两位顺序号
项目名称:
检查日期:
检查模块名称:
检查模块描述:
检查项目:
对于不同类型的软件系统、不同的功能、性能要求,以及不同的编程语言,对待检查模块的检查目的与检查方法有各自的要求。在此处须分别列出各检查项作为本次检查的依据。
例如可以从“命名规则”、“代码注释量”、“与设计要求的符合性”、“接口与变量定义”、“数据与存储”、“可维护性与可测试性”、“错误处理”等几个方面进行检查。
存在问题:描述根据设定的检查项进行检查后发现的问题及跟踪情况。
序号问题描述解决来自况验证123
4
5
6
7
8
9
10
检查结论:
()通过
()不通过
检查人员签名:

【软件工程】【CMMI】代码走查单

【软件工程】【CMMI】代码走查单

1-14
用 应通 该配 尽符 可方 能式 减小类与类之间耦合,所遵循的经验法则是:尽量限制成员函数的可见性。如果成员函数没必要
1-15
为 若保 没护 有足(够pr理ot由ec,te不d)要;把没实必例要或保类护变(量pr声ot明ec为te公d)有,。就公定共义和为保私护有的(可pr见iv性at应e)当。尽量避免,所有的字段都建议
1-3
避免使用长名字(最好不超过 25 个字母)
1-4
采用大小写混合,提高名字的可读性。一般应该采用小写字母,但是类和接口的名字的首字母,以及任何中
1-5
所 写有 。单 包词 名首 全字 部母 小大 写写 。。使用能确切反应该类、接口含义、功能等的词。一般采用名词
1-6
采用完整的英文大写单词,在词与词之间用下划线连接,如:DEFAULT_VALUE
代码走查记录跟踪单
项目名称
记录更新人
记录更新时间
走期 模块名称
检查文件 代码总行 数(个) 数(LOC)
花费工时(H)
1
50000
2
50000
3
50000
编号
检查项
1 代码规范
1-1
程序结构清晰,简单易懂,单个函数行数不得超过100行;
1-2
使用可以准确说明变量/字段/类/接口/包等的完整的英文描述符
1-7
对不易清楚识别出该变量类型的变量应使用类型缩写作其前缀,如字符串使用strXXX,boolean使用isXXX。
1-8
应采用完整的英文描述符命名组件(接口部件),遵循匈牙利命名法则
1-9
一个集合,例如数组和矢量,应采用复数命名来表示队列中存放的对象类型。命名应采用完整的英文描述符

代码检查表

代码检查表
初始化与存储类相一致
4
不存在相似的变量名
5Байду номын сангаас
6
7
8
9
10
控制流程检查
#
检查项
评审结果
是否适用
注释
1
每个循环都能正确终止
2
每个程序都按流程终止
3
不存在由于入口条件不满足而跳过循环体
4
可能的循环越界正确
5
不存在“仅差一个”的迭代错误
6
DO/END语句匹配
7
8
输入/输出检查
#
检查项
评审
结果
是否适用
注释
1
文件属性正确
4
是否有输入信息的合法性检查
5
没有遗漏某个功能
6
7
注:
也可针对实际情况对某语言进行评审(C、C++、Java…)
结果统计:是个;否个
2
OPEN语句正确
3
I/O语句符合格式规范
4
缓冲大小与记录大小相匹配
5
文件在使用前是否打开
6
文件在使用后是否关闭
7
文件结束条件是否被正确处理
8
是否处理了I/O错误
9
10
程序接口检查
#
检查项
评审
结果
是否适用
注释
1
形参的数量是否等于实参的数量
2
形参的属性是否与实参的属性相匹配
3
形参的量纲是否与实参的量纲相匹配
#
检查项
评审
结果
是否适用
注释
1
不存在非算术变量间的运算
2
不存在混合模式的运算
3

XXX项目PLSQL代码检查表-XXX检查人

XXX项目PLSQL代码检查表-XXX检查人

使用说明:
1、适用于代码自查、互查(单人进行)和代码评审(小组进行)。

2、一个检查人(或检查组)一份表,所检查的程序/模块与sheet名称一一对应(一个程序/模块对应一个sheet)。

3、“统计”页只需填写项目名称和检查人,问题数、用时、程序数等自动统计。

4、进行代码检查前,结合项目自身的特点,项目经理组织对模板进行定制,可根据实际情况自行增加条款;模板是创建程序检查表的基础,不能删除。

5、可根据所检查的程序,逐份创建检查表进行填写,程序清单和编码人自动生成。

6、可先填写程序清单,通过“根据清单批量创建”功能,一次将所有检查表创建好。

7、可通过“根据检查计划创建”功能,选择项目的“代码检查计划”,一次将对应检查人的检查表创建好。

8、点击“检查填写情况”,可以自动检查填写的完整性。

9、必须启用宏才能使相关功能正常使用。

软件项目代码检查表

软件项目代码检查表

66
印。应该将异常记入日志或者包装后向上层抛出。对于 表现层页面,不应该出现程序异常,应该在捕获到异常
强制
后进行友好的提示。
67
对于静态方法,应该使用类名去使用,不应该用实例去 引用,主要是为了体现更多的语义。
强制
68
对一些基本数据类型和不太可能通过继承进行扩展的 类,应声明为readonly,提高效率。
强制
3
书写规范
修改源代码时,应尽量保持与所修改系统的编码风格保 持一致。
强制
4
命名规范 所有命名空间名称必须使用ESSE前缀。
强制
5
应该使用VS2005默认格式规范。
强制
6
一个C#源文件.cs应该只包含一个类,内嵌类和匿名类除 外。把所有枚举变量集中定义到同一个源文件中。
强制
7
命名空间的引用应该按照相关性进行分组。
28
进行外部访问。如果成员函数仅为自己和派生类使用, 强制
使用protected,如果仅仅为类本身访问,使用private。
29
命Байду номын сангаас空间应该使用Pascal命名方式,不要出现下划线等 符号,名词用有意义的缩写或者英文单词。
强制
30
所有类命名使用Pascal表示方式,使用名词组合。
强制
31
接口命名使用字母 “I” 加上 Pascal 形式的表示方式。
强制
15
循环变量应靠近循环体初始化。
强制
版本号:2 修订号:0
C#代码规范 缺陷描述
第1页 共6页
16
避免长的布尔表达式,应该换成多个更容易理解的表达 式。
强制
17
代码缩进,应该使用4个空格为一个单位进行缩进。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
整个代码体系结构组合合理,分层清晰,代码之间功能划分明确
5
所有的接口模块化,尽量减少接口之间的耦合度,修改时尽量不影响其他代码模块
6
代码体系构架对空间和速度都已经进行考虑
7
数据库操作、IO操作等是否正确关闭资源。并且必须在try -catch-finally 的finally中关闭。
8
一个业务如果进行多次数据库更新、添加、删除是否正确添加事务。
9
进行逻辑与、逻辑或判断时是否使用短路与、短路或。
10
多处使用相同代码时,应定义唯一方法或变量以供使用。
11
对象是否使用工厂获取。
12
导入类时,如果仅使用包中的几个类,应导入具体类,而不是导入整个包。
13
数组声明的时候使用 int[] index ,而不要使用 int index[]。
14
代码实现的逻辑是否与详细设计描述的逻辑一致
21
异常要统一处理,异常处理方法是否符合项目组的约定
22
在Action中不要过多的逻辑处理代码
23
不要出现魔鬼数字
24
检查可能出现空指针异常的地方,例如一个对象可能为空,却调用它的方法或属性。
25
显示的文本无拼写和语法错误
26
所有的表达式使用了正确的操作符
函数组织
1
所有的函数名都小于64个字符
2
函数高内聚 尽量只做一件事情,并做好
7
复杂的表达式具备可读性,添加注释说明,表达式结构清晰
8
续行缩进
9
括号在合适的位置
10
每个顺序的小块用空行隔开
11
注释和代码对齐或接续在代码之后
12
JSP必须不能有basepath。
13
JSP引用js全部要有path
14
JSP用的标签库是否都正确引用。
15
JSP写的js方法必须要有注释。
代码是否可读。
新增
all
孟洋涛、郑海焘
郑博
1.1
2012-5-28
根据各项目组评审出问题进行修改
all
孟洋涛
郑博
8
对if和for、while等要进行必要的注释,并且方法体单,要清晰明了。
10
缺陷修改阶段,提交代码的时候必须写清楚修改的功能点和为什么要修改。
总括
1
无用的代码、注解已经删除
2
除非必要,不要在循环体内定义对象。

其他注意项
1
尽量减少同名的类(如java.sql.Date,java.util.Date)
3
循环之前做好初始化代码
4
当有明确的多次循环操作,使用For循环
5
当有不明确的多次循环操作,while循环被使用
6
代码中不存在无穷次循环
7
循环的头部进行循环控制
8
循环体内的循环变量起到指示作用。
9
所有的循环边界是否正确;
10
循环终止的条件清晰
11
循环条件、判断条件的边界值,数组、集合下标是否越界。
注释
15
检查类中是否有无效的代码或者是无用的代码。
16
不要使用System.out.print()以及System.err输出,需要进行日志处理
17
所有的文件名符合文件命名规范,见名知意
18
文件和模块分组清晰
19
较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读
16
代码的逻辑是否有问题。
17
JSP页面尽量不要写过多的隐藏域。
18
JSP页面要注意排版、必要的注释、尽量减少使用alert(),JS
和CSS除非必要就放到外部的单独文件中,在JSP中引用。
19
实例变量是否使用private修饰并定义getter、setter方法。
20
连接数据库的方法必须调用公用的方法。
2
不要在循环中反复定义创建变量
for(){String str= (new String)v.next();}
3
可能重复执行的SQl语句尽量使用preparedStatment
4
浮点型要精确比较时不要使用==,而如下进行
Math.abs(x-0.0)<Double.MIN.value*2
5
在sql中注意敏感的单词要回避使用
代码走查检查表
评审日期:年 月 日
评审对象
作者
评审人
评审工作量
序号
检查项
评审意见
走查前准备
1
得到一份解释代码的最新的设计文档,作为代码走查的参考
2
代码都已提交 ,版本统一
程序结构组织
1
所有代码的结构清晰,具有良好的结构外观和整齐
2
所有的模块(函数和外部接口)定义清晰,模块分解清楚
3
所有的功能需求都明显的覆盖
20
每个程序文件都小于2000行
代码组织
1
数据库查询语句不要出现select *
2
对需要处理的字符串定义为StringBuffer ,常量定义成静态的。
3
所有的变量名都小于32字符
4
有返回值的方法是否正确返回。Return语句应定义在方法结尾处。
5
代码排版是否规范。
6
所有的行每行最多只有一句代码或一个表达式
DB2 中id flag year month name state
Oracle 中number
Sybase中 count
6
代码与操作系统无关,不需要任何假设条件
7
所有的数组访问在它们的边界内
8
类型转换明确指明
文件修订记录
变更版本
修订日期
原因与修改情况描述
位置(页/段落/章节号
修订人
审核人
1.0
2012-5-22
3
函数和其他代码松耦合
4
所有的参数都被使用
5
如果一个函数有返回值,在所有的出口都有返回值
6
函数使用了最少数目的return语句
7
函数的参数个数小于7个
8
使用的算法说明清楚
9
函数检查了输入数据的合法性
10
函数异常处理清楚
11
函数设计尽量考虑将来的变化
12
调试信息存在于代码中并容易激活
13
递归定义了出口
2
判断的次数降到最小
3
Boolean表达式表示清楚
4
最常用的情况最先判断,所有的情况都考虑
5
判断体足够短,以使得一次可以看清楚,不要有臃肿的逻辑判断。
6
嵌套层次小于3次
7
判断条件使用引用时,应先判断其是否为null。
循环
1
不要出现三层以上的for循环。如有必要必须写清楚注释
2
循环体不为空,循环体能够一次看清楚
显示的文本无拼写和语法错误所有的表达式使用了正确的操作符函数组织1所有的函数名都小于64个字符2函数高内聚尽量只做一件事情并做好3函数和其他代码松耦合4所有的参数都被使用345678910111213141516171819202122232425265如果一个函数有返回值在所有的出口都有返回值函数使用了最少数目的return语句函数的参数个数小于7个使用的算法说明清楚函数检查了输入数据的合法性函数异常处理清楚函数设计尽量考虑将来的变化调试信息存在于代码中并容易激活递归定义了出口递归局限于一个函数对接口的调用必须要有判断传入的参数不能为空和传入的参数正确
14
递归局限于一个函数
15
对接口的调用必须要有判断传入的参数不能为空和传入的参数正确。
数据类型与变量
1
数据类型存在数据类型解释
2
代码避免了重新定义预先定义的数据类型
3
每一个变量都初始化了
4
所有的变量都有最小的活动范围
5
所有的全局变量都描述清楚,如全局变量的作用
6
所有的变量都用到了
条件判断
1
If/else 使用正确
1
类、方法、判断条件、循环、主要变量是否添加注释。
2
类名、方法名、变量名的命名是否规范。
3
有返回值的方法是否正确返回。Return语句应定义在方法结尾处。
4
源代码能够自我解释,每个人看到代码就能很快理解
5
解释不过于简单,解释说明代码功能,准确描述代码意义
6
所有的假设和限制进行注解
7
长的控制体结束,进行注解
相关文档
最新文档