代码评审检查表

合集下载

代码走查检查表

代码走查检查表
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 注释是否清晰、简洁,有助于他人对代码的理解? 注释是否解释了代码的目的,或总结了代码所要完成的工作? 注释是否与代码同步? 是否描述了文件目的、作者与修改记录?
是/否/不适用
是 是 是
是 是 否 是 是 是
否 是 是 是

代码审查单

代码审查单


要步骤?
是否违背了继承和组合的规则?
(1)若在逻辑上B是A的“一种”,并且A的所有功能和属性对B而言都
有意义,则允许B继承A的功能和属性。

(2)若在逻辑上A是B的“一部分” (a part of),则不允许B从A派生,
而是要用A和其它东西组合出B。
每一个域在每一次使用前正确地初始化了吗? 是否忘记为数组和动态内存赋初值?(防止将未被初始化的内存作为右值使 用)
对屏幕输出操作,是否到达了最快的刷新速度?效率是否为最佳?需部分 刷新区域的地方是否进行了全部刷新?

有无可优化的程序块、函数或子程序等?

算法是否可以优化?

注释比例达到25%以上吗?

标号和子程序名符合代码的意义吗?

是否使用了GOTO语句?

是否使用了非通用的函数库?对于非标准的库是否提供了源程序?

测试和转移检 查
每个转移目标正确并至少执行一次吗?

三种情况(大于0,小于0,等于0)是否已全部测试?边界值是否进行了 测试?

循环语句是否有正常跳出循环的条件吗?是否会出现死循环?break和conti nue语句使用正确吗?

逻辑是否被最佳地编码?

提供的是一般的错误处理还是异常的例程?

性能检查
头文件是否使用了ifndef/define/endif预处理块?
程序结构和模块功能定义清楚吗?
编程风格检查 是否遵循该语言的指令编写格式?
注释的行数不少于代码总行数的1/5吗?
注释说明和代码功能一致吗?
错误处理分支信息表达清楚吗?
每一个模块单元的圈复杂度都小于10吗?

xx项目(软件)_日常管理_代码审查表(模板))

xx项目(软件)_日常管理_代码审查表(模板))

代码审查表
检查文件 审查代码行数 缺陷数 代码可读性
,评价标准为:优良中差。 评价标准为:优良中差。
代码正确性
代码提交பைடு நூலகம்志
备注
代码审查表
周期:20XX/XX/XX-20XX6/XX/XX 项目名称:XX项目 日期 20XX/XX/XX 20XX/XX/XX 20XX/XX/XX 20XX/XX/XX 20XX/XX/XX 工程师 张三 张三 张三 张三 张三 审查人员 李四 李四 李四 李四 李四 功能模块
备注: 1. 代码可读性:代码注释、文件名称(文件名或包名,作用描述),评价标准为:优良中差。 2. 代码正确性:是否符合设计、符合情景、合理、执行是否有误,评价标准为:优良中差。 3. 代码提交日志:编写提交信息日志,评价标准为:优良中差。 4. 缺陷数为注意事项中检查结果为“否”的数量

代码验收条件检查表

代码验收条件检查表

验收文档 代码说明文档 操作手册 部署文档
交付方所编写的需求文档、设计文档、功能清单、业务流程图(可包含在设计文档)、业务 架构图(可包含在设计文档)、开发帮助手册、部署安装配置手册等项目过程文档,详情见 附件“项目内验所需资料V1.0.doc”。 必须包括所提交的代码地址、代码清单和模块结构说明、代码的说明(各工程间的关联、运 行顺序、运行环境配置等)等信息,以doc或pdf格式提供,参考“附件6:代码结构说明文档 示例.docx”。
事项
是否符合
代码验收条件检系统,系统包括的功能及功能的说明,功能清单必须覆盖系统的所有功能。 功能清单以Excel表格的方式提供,参考“附件3:系统功能清单参考示例.xlsx”。
性能指标
根据合同要求,所明确的相关性能指标,若合同中无要求,参照我司与业主的合同等相关确 认文件作为指标。性能指标以doc或pdf格式提供。
项目所有功能有明确的操作说明,接收方或用户可根据操作手册完成操作。
包括开发环境部署文档、测试环境部署文档及生产环境部署文档。
以上事项必须全部符合。
测试用例
交付方所进行测试的所有测试用例,作为交付方执行测试工作的依据,以doc或pdf格式提 供,参考“附件5:系统测试用例示例.docx”。
测试报告
交付方所编写的测试报告且报告中明确结果:测试通过(功能测试、性能测试等),作为交付 方已完成自检并未检出问题的依据,以doc或pdf格式提供,按“附件4:系统测试报告模 版.doc”模版编写。

代码检查表

代码检查表
初始化与存储类相一致
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

代码评审标准与结果

代码评审标准与结果
6
注释对于理解代码是否有帮助
7
代码中的注释是否充分
8
代码中的注释是否过多
布局/封装缺陷
1
代码布局风格和缩排标准是否前后一致并体现其逻辑结构
2
代码中是否存在已被注释且不再使用的代码
3
复杂程序是否合理地分解成多个子程序
4
每个方法的代码量是否都不超过60行
5
方法或类之间是否具有低耦合性
6
方法或类之间是否具有高内聚性
2
比较运算符是否正确
3
布尔表达式是否通过内部否定操作进行了简化
4
每个布尔表达式是否都正确
5
比较操作是否存在不引人注意的副作用
6
是否存在“&&”替换为“&”或“||”替换为“|”的情况
7
代码中是否避免了对浮点型数值的相等比较操作
流程控制缺陷
1
每个循环是否选用了最佳循环结构
2
所有的循环结束条件是否明显
3
6
注释对于理解代码是否有帮助
7
代码中的注释是否充分
8
代码中的注释是否过多
布局/封装缺陷
1
代码布局风格和缩排标准是否前后一致并体现其逻辑结构
2
代码中是否存在已被注释且不再使用的代码
3
复杂程序是否合理地分解成多个子程序
4
每个方法的代码量是否都不超过60行
5
方法或类之间是否具有低耦合性
6
方法或类之间是否具有高内聚性
7
是否存在重复代码且它的功能可以通过调用其他方法实现
8
方法参数数量是否控制在5个以内
性能/算法缺陷
1
是否存在更好的数据结构和算法可以采用

代码评审表模板

代码评审表模板

代码评审表模板代码码码码清;Code Checklist,版本,1.0码品/码目码名,称宅急送码品/码目名,称公共版本,号 1.0被码码人码字, 码码容,内___ ______码码人码字 ,___________ 码码日期, _ ____码明,码码清被码码码名模码名称码品名称码码码常码是否程序是否明地注码了其码码功能确注码格式是否正确程序码元是否承码一码码担码码程序是否合理地分解码子程序程序中接口定码是否明晰异常码理是否符合码范包名、码名命名是否符合码范方法名命名是否符合码范码量/常量是否相码系列码量是否码一集中明~自定码据码型码量是否码行了必要而充分的描述声数码量是否按相码码范码行了命名;有意码的命名、据码型的分等,数区码量是否按其命名含码承了码一的使用目的~必要码是否定码了码外码量担清晰码量引用是否正码码确常量是否使用getter/setter方法码码是否码用良好定码的枚码码型替代了码码的字符码码或布码码量使用UFBoolean是否使用UFBoolean构数构造函码行造码理可码String码是否未使用StringBuffer是否码先使用Java码准码提供的容器;ArrayList、HashSet、HashMap、LinkList,码理码序来码、集合、码码码合堆码码列构数码码的使用码景是否正数确码于public尽慎量码使用不同作用域码量名量不要相同称尽算法是否数构据码是否合理、精码算法是否可以立码码~是否据码和其他算法隔独与数离是否量避免了嵌套的用尽运码码码码是否码行了必要而充分的注码控制是否代码码行路是否径清晰Switch码句是否有缺省分支控制码码码码度是否合理~是否码行了必要而充分的注码每循码是否码码行了码一而明的功能个体确与数将数达常比码需要常放在比码表式的前面布局是否代码是否良好格式化能码其码码码并体构码码是否程序是否可码、可码展健并壮具码码码码是否已可能的“码藏”体尽是否码先使用接口而不是抽象码或具码体方法是否在参数5个内以方法用慎public修码符码于不需要子码重码的码量使用来尽final码象作用域是否码大效率是否尽内量不要在循码出码码程码用每码码码作码程码用次是否小于个数3次码程码用据码码是否有不必要的冗余据数数SQL是否Sql码句小写引用字符使用码引号码禁使用select * 形式的码句~必码指出具字段体码禁使用insert into table values;,~,~,,~必码指出具要码码的字段体避免码含的码型码码;不同据码型字段相加,数子码码前后必码加上括号避免在where使用’1=1’,’1=2’码码表方式作码部分件达条禁止使用码码禁止使用XX in () or XX in ()(in中的元素不码超码个数500)禁止使用or超码500个禁止使用not in~建码使用not exist禁止在一条sql码句中使用3码以上的嵌套如果有多表码接码~码码有主之分~量一表取从尽从个数Where子句码码件~索引列或码码码码最多的件码码放在前面条条字符串码接必码使用“||”Case when码句中只能出码=、>=、<=以及is null运算符左码接法必码码”写outer”码码字Sql中函是否在指定范码数内Join与on必码码格匹配码码码清码码描述码码修改日期修改日期码码人码字。

代码评审检查表

代码评审检查表

流程控制缺陷(CF) 流程控制缺陷(CF)
10 所有的异常是否都得到了正确的处理 11 每一个方法在是否都结束? 输入输出缺陷(IO) 输入输出缺陷(IO) 1 2 3 1 2 1 2 3 1 2 3 4 5 6 7 8 1 2 3 1 2 文件在被使用之前是否都被打开? 输入对象的属性是否与使用的文件一致? 文件在被使用之后是否都被关闭? 文本中是否有拼写和语法上的错误? 所有的I/O异常处理的是否合理? 方法调用的参数的数量,顺序,类型和值是否与该方法声明一致? 度量单位是否一致(如:公分 vs. 公尺)? 如果对象或数组被传递,它们是否改变?是否被调用方法正确改变? 每一个方法,类和文件是否都有适当的头注释? 每一个属性,变量和常量的声明是否都有注释? 每个类和方法的潜在行为是否都有用简易的语言进行解释? 方法和类的头注释是否和它们的功能保持一致? 注释和代码是否保持一致? 注释对于理解代码是否有帮助? 代码中的注释是否充分? 代码中的注释是否过多? 代码布局格式和缩排标准是否前后一致? 对于每一个方法,它的代码量是否都不超过60行? 对于每一个编译模块,它的代码量是否都不超过600行? 模块(方法,类)之间是否具有低偶合性? 每个模块(方法,类)自身是否具有高聚合性?
存储器使用缺陷(SU) 存储器使用缺陷(SU)
PE) [可选 可选] 性能缺陷 (PE) [可选]
其他 结论: 结论: 说 明: 明:
通过
有条件通过
不通过
CODE-CHECKLIST-YYYYMMDD
备注
版本:V1.1
检查日期 填写人 是 否 不适用 BUG数
属性是否可以用本地变量? 10 所有的属性是否都有正确的访问限制符 (private,protected,public)? 11 是否有静态属性应该是非静态或vice-versa? 方法定义缺陷(FD) 方法定义缺陷(FD) 1 2 3 4 5 1 2 3 1 2 1 2 3 4 1 2 3 4 方法名的描述方法是否与命名约定一致? 每个方法的参数值在使用之前是否都作了检查? 对于每一个方法,它是否都返回了正确的值? 每种方法是否都有正确的访问限制符(private, protected, public)? 静态方法是否应该为非静态或vice-versa? 每一个类是否都有正确的构造函数和析构函数? 在子类中是否有应该放到父类中的通用成员? 类的继承层次是否能被简化? 对于每一个数组引用,下标值是否在定义的范围内? 对于对象和数组引用,是否组确定其值应为非空? 是否存在不同类型数据之间的混合计算? 在计算中是否存在上溢或下溢的可能? 关于数值计算的顺序和优先级的假设是否正确? 是否用了括号来避免模糊不清? 对每一个布尔测试,正确条件是否被检查? 比较操作符是否正确? 布尔表达式是否通过内部否定操作进行了简化 每个布尔表达式是否都正确?

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个空格为一个单位进行缩进。

java代码检查表(很好的公司在用)

java代码检查表(很好的公司在用)
2.2嵌套内部类是否超过2层?
2.3所有方法是抽象的且所有成员变量是静态常量的抽象类是否声明成了接口?
2.4当类所有的方法和属性都是静态的时,是否定义了缺省的私有构造方法?
2.5没有使用任何实例类成员(包括方法和成员变量)的方法是否被声明为静态的?
2.6异常发生时是否均恰当的记录了错误日志?是否存在使用System.out.println而不是日志模块记录日志的情况发生?
4.8循环条件中或重复出现的如.length() .size() .getClass().getName()等取值方法的返回值是否使用了临时变量代替?
4.9频繁拼装字符串时,是否使用了StringBuffer,并事先分配恰当空间?
5.
目录结构
5.1Jsp,Action,service ,dao ,逻辑分层是否明确
4.6.1嵌套的条件判断、循环是否可替换为较简单的结构?
4.6.2是否存在可以合并的循环或条件判断?
4.6.3循环体内是否存在可以提到循环体外的代码?如实例化对象或声明变量等
4.7switch中case的常量是否可以安排为连续的值?这样做可以使得代码被编译为tableswitch类型的跳转表提高性能。连续的 else if结构是否按情况出现的频率进行了排序?
2.10.5是否存在不必要的import句?
3.
缺陷检查
3.1程序逻辑是否符合详细设计?
3.2输入参数、调用其他函数的返回值是否有必要校验合法性、完整性、依赖关系?如有必要,是否做了恰当的校验?如无必要,是否有多余的代码?
3.3是否避免了在抽象类构造方法中调用抽象方法?
3.4是否避免了直接抛出Exception类异常,而没有抛出恰当的由Exception派生的异常类?

XX项目java代码检查表

XX项目java代码检查表
请键入项目名称
代码检查表
XXXXXXXXXXXXXXXX公司
更改记录


版本
更改内容Байду номын сангаас
更改人/日期
审核人/日期
批准人/日期
1
2
3
4
5
代码检查表
项目名称:模块名称:版本号:
检查时间:检查员:
序号
检查项
是/否/不适用
注释
1.
命名、注释及风格
1.1文件、类/接口、静态变量、成员变量、方法及关键代码是否都有格式良好、简明扼要、的注释?注释是否是对设计思路的说明而不仅仅是代码行为的描述?是否存在过时的注释或废代码注释?
3.5打开的流、连接等资源是否在finally语句块或恰当的地方关闭或释放了?临时资源使用完后是否及时释放了?如临时文件要及时删除。各种资源释放的顺序是否正确?
3.6条件、循环中的判断边界值是否恰当?
3.7程序块的break、return、throw是否恰当?
3.8相似的代码块是否是拷贝过来的?如果是,则需检查拷贝的代码中每处需要修改的地方是否都修改了。
4.2是否有这样的代码:new String(””)?
4.3嵌套的条件判断、循环是否可优化?
嵌套的条件判断、循环是否可替换为较简单的结构?
是否存在可以合并的循环或条件判断?
循环体内是否存在可以提到循环体外的代码?如实例化对象或声明变量等
4.4循环条件中或重复出现的如.length() .size() .getClass().getName()等取值方法的返回值是否使用了临时变量代替?
3.
缺陷检查
3.1程序逻辑是否符合详细设计?
3.2输入参数、调用其他函数的返回值是否有必要校验合法性、完整性、依赖关系?如有必要,是否做了恰当的校验?如无必要,是否有多余的代码?

QR_815.02_JAVA代码审查表

QR_815.02_JAVA代码审查表
M6
常量(final static):
全部用大写字母,每个单词之间用下划线连接。
M7
属性(attribute):
属性名不要以“_”,“the”,“a”,“an”和“for”起头。另外,属性不应该是公有的(但也有一些例外),应该用setter和getter方法;
M8
EJB:在类名后加“EJB”
M9
JavaBean:在类名后加“Bean”
JAVA
编号:QR_815.03_XXX
基本信息
代码所属项目和任务
代码名称
代码描述
开发人
审查人
审查日期
审查最终结果
通过需要修改
审查的内容与结果
序号
标准(注:请根据具体项目的设计规范将此表补充完整)
是否满足(Y/N)
说明
命名规则
M1
包:
1)所有的包名都必须采用小写英文单词组合;
2)包应按如下方式组织和命名:<system>.<subsystem>.<module>.<submodule>;
*<p>JDK version used :jdk1.6.1</p>
*<p>Comments :config path</p>
*<p>Version :1.01</p>
*<p>Modification history:2008.6.19</p>
*<p>Sr Date Modified By Why & What is MODIFIED</p>
6)所有可能导致系统级异常的地方,如数据库或资源连接失败,须使用fatal记录,此类信息应尽可能少

JAVA代码审查检查表

JAVA代码审查检查表
是[ ]否[ ]免[ ]
11
3.2变量是否已经在定义的同时初始化
是[ ]否[ ]免[ ]
12
3.3类属性是否都执行了初始化
是[ ]否[ ]免[ ]
13
3.4代码段落是否被合适地以空行分隔
是[ ]否[ ]免[ ]
14
3.5是否合理地使用了空格使程序更清晰
是[ ]否[ ]免[ ]
15
3.6代码行长度是否在要求之内
是[ ]否[ ]免[ ]
16
3.7折行是否恰当
是[ ]否[ ]免[ ]
17
4.1包含复合语句的{}是否成对出现并符合规范
是[ ]否[ ]免[ ]
18
4.2是否给单个的循环、条件语句也加了{}
是[ ]否[ ]免[ ]
19
4.3if/if-else/if-else if-else/do-while/switch-case语句的格式是否符合规范
5
2.2复杂的分支流程是否已经被注释
是[ ]否[ ]免[ ]
6
2.3距离较远的}是否已经被注释
是[ ]否[ ]免[ ]
7
2.4非通用变量是否全部被注释
是[ ]否[ ]免[ ]
8
2.5函数是否已经有文档注释
是[ ]否[ ]免[ ]
9
2.6特殊用法是否被注释
是[ ]否[ ]免[ ]
10
3.1每行是否只声明了一个变量(特别是那些可能出错的类型)
是[ ]否[ ]免[ ]
20
4.4单个变量是否只做单个用途
是[ ]否[ ]免[ ]
21
4.5单行是否只有单个功能(不要使用;进行多行合并)
是[ ]否[ ]免[ ]
22
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
容易引起界面退出或关闭的按钮是否放在不 98 易点击的位置?
页面布局是否合理?如信息量大应采用 Tab 99 页;控件不能过于密集或过于空旷;完成同
一功能的界面元素应该集中放置等。 页面中首先应输入的和重要信息的控件是否 100 在 tab 顺序中靠前放置? 在页面中按 tab 键,焦点是否按控件排列顺 101 序移动?大体是从上到下,再从左到右。 重要的和使用频繁的按钮是否放置在界面上 102 醒目的位置? 是否用最合理的步骤实现常用的操作,并获 103 得高效率? 界面色调是否搭配合理,没有出现太太反差, 104 让人感到和谐、舒服? 105 色彩使用是否符合行业的习惯? 弹出式窗口是否不借助滚动条就可以显示所 106 有内容? 对于常用的功能,用户是否不必阅读手册就 107 能使用? 108 多次使用 back 键是否报错? 各种界面元素是否提供了充分而必要的提示 109 (如标题)? 110 滚动条是否足够长,保证有可用的滑块? 记录字符数超长是否不影响整个版面的显示 111 效果? 界面层次是否控制在三级以内,保证进入目 112 的页面的点击次数不会超过三次? 界面上的文字是否通俗易懂,前后描述一致, 113 没有错别字? 114 界面是否能够适应屏幕分辨率的变化? 115 具有返回值的窗体是否采用对话框模式?
拉框?选项数较少时使用选项框;选项数较
多时使用列表框或下拉框;页面空间较小时 161 使用下拉框;二选一时,使用单选框;多选
一时,使用分组单选框;多选多时,使用复
选框或多选列表框。
说明:
检查结论:P——通过、F——不通过、NA——不适用;
开发人员在模块代码调试完成提交到 SVN 前进行自测并提交代码自测检查表;
界面响应
136 是否为重要的操作返回必要的结果信息? 数据库连接失败、网络连接失败是否给出提
137 示信息?
需要长时间的处理完成时,是否发出提示警 138 告声?
在用户可能进行破坏性操作时,是否用声音 139 提出警告?
140 按钮风格、大小、字体是否一致? 控件-按钮
141 常用按钮是否支持快捷方式?
124 页面链接是否正确?页面切换是否正确?
页面中是否有未删除的多余的语句引起的错 125 误符号?
126 屏幕刷新时,界面是否显示正常?
窗口切换、移动和改变时,界面是否显示正 127 常?
报错页面的风格是否一致或者使用统一的报 128 错页面?
界面风格,如界面布局、控件样式、字体、 129 颜色、标签、术语、错误提示、对齐等是否
编辑表单显示的数据是否与该记录的实际数 58 据一致?
编辑权限设置是否正确?如:张三不能编辑 59 李四的数据等。
打开编辑页面时,数据加载速度是否可以接 60 受? 61 不可修改的字段是否用灰色文字显示? 62 不能重复的字段输入重复内容,是否报错?
打开新增或修改页面时,光标是否定位在第 63 一个待输入的文本区? 64 单选框是否已根据数据库的值正常显示? 65 单选框是否正确设置默认值? 66 对多表操作的事务处理,是否能够保证数据
大数据量的导入、导出、备份、文件传输等 23 处理速度是否可以接受?
导出后的文件内容是否和系统中显示的内容 24 一致?
没有记录时,执行导出操作是否有提示信 25 息? 26 附件是否能正确上传?
附件有格式和大小限制时,页面上是否有说 27 明信息?附件不满足格式或大小限制时,页
面是否有提示? 28 上传同名文件,是否能正确打开?
148 是否按先后次序排列? 控件-菜单
菜单项很多时,菜单树的响应时间是否可以 149 接受?
150 常用菜单是否支持快捷方式? 没有顺序要求的菜单项是否按使用频率和重
151 要性排列?
无效菜单是否采用动态加载等方式加以屏 152 蔽?
工具栏的图标是否能直观的代表要完成的操 153 作?
控件-工具
工具栏中的每一个按钮是否有即时提示信
对可能造成等待时间较长的操作是否提供了 36 取消功能? 37 是否对 NULL 对象做控制? 38 是否对数组越界做控制? 39 是否对字符串访问越界做控制?
删除功能 输入功能
40 是否兼容主流浏览器,如 IE6、7、8 等? 是否提供 Undo 功能用以撤销错误或不期望
41 的操作? 42 是否优先使用客户端验证? 43 是否做除 0 的控制?
没有选中记录时,执行删除操作是否给出提 50 示信息? 51 删除前是否有“确认删除”的提示?
删除权限设置是否正确?如:张三不能删除 52 李四的数据等。
执行删除操作后,数据库记录是否根据要求 53 被删除或被标识?
有关联关系的数据是否在同一事务中被删 54 除?
有删除约束的记录是否被保护不能手工删 55 除? 56 Tab 键是否使焦点依次在输入项中转移? 57 必填项是否有醒目标识?
16 键字时,系统是否自动截取? 输入日期范围时,是否判断起始日期大于截
17 止日期? 18 输入查询条件,查询是否正确? 19 文本字段是否支持模糊查询?
有固定选项值的查询条件(如状态、类型等) 20 是否使用下拉框? 21 大报表的处理效率是否可以接受? 22 大报表的排序和分组速度是否可以接受?
该文档的命名方法:代码自测检查表-姓名-YYYYMMDD.doc
项目经理检查项: 1. 是否对以上开发人员自测内容进行检查?__________ 2. 自测通过情况如何?_________________________________________________________ 3. 发现的问题有哪些?_________________________________________________________

154 息?
155 功能相同或相近的工具栏是否放在一起?
156 用户是否可以定制工具栏?
157 单选按钮是否置于分组框中?
单选框和复选框是否按选择几率的高低排列 158 先后顺序?
单选框和复选框是否有默认选项,并支持 159 Tab 选择?
控件-选择 160 单选框、复选框、列表框或下
116 链接图片设置是否正确?
117 是否符合广大用户使用同类软件的习惯?
是否设计了与众不同的、让用户记忆深刻的 118 界面?
119 是否在页面未超过一页时存在滚动条?
提示、警告或错误信息是否清楚、明了、恰 120 当?
121 图片上传后显示比例是否正常?
122 页面标题是否被正确设置?
页面层次太多时是否给出返回主页面、主分 123 支的快捷链接?
每页显示的记录数是否适量?修改每页记录 12 数是否起作用?
如果查询结果中有统计栏目(如总计、合计 13 等),其计算结果是否正确?
检查记录
导出功能 上传功能 容错功能
14 输入%*?等通配符是否会导致查询错误? 输入报表日期时,日期是否默认为当前日期,
15 月份是否默认为当前月份,年份是否默认为 当前年份? 输入查询条件包括空格、特殊字符、保留关
界面布局 界面显示
在网络连接正常的情况下,操作失败时是否 92 进行数据回滚?
增加和修改要求是否一致?如增加要求必填 93 的项,修改也应该必填;增加要求为整型的
项,修改也应该为整型。 94 界面布局是否整齐、美观? 95 界面是否存在很大的空缺位置? 96 界面元素的尺寸是否合理? 97 界面元素是否在水平或者垂直方向对齐?
代码评审检查表
项目名称 模块名称 代码文件清单
开发人员 提交时间
类型 查询功能

是否 检查
检查项

检查 结论
1 不输入查询条件是否查询到全部记录?
2 查询结果中的超链接是否正确?
查询权限设置是否正确?如:张三不能查询 3 到李四的数据等。
4 查询条件的下拉框列出的数据是否正确?
当查询的数据非常多时,查询速度是否可以 5 接受?
功能按钮(如增、删、改、查、导入、导出 142 等)是否正常使用?
143 默认按钮是否支持回车键操作? 144 无效按钮是否加以屏蔽或用灰色显示?
菜单前的图标是否能直观的代表要完成的操 145 作?
146 菜单深度是否控制在三层以内? 菜单是否按照“常用--主要--次要--工具--
147 帮助”的顺序排列? 菜单项的使用有先后要求或有向导作用时,
对数据量很大的表进行查询时,是否必须输 6 入查询条件?
7 多条件查询时是否提供输入条件重置功能?
分页按钮翻转是否正确?输入页码跳转是否 8 正确?翻页时查询条件是否能带过去?
分页的统计数字(共 X 页、第 N 页、共 M 条 9 记录等)是否正确?
10 列表表头是否不随列表内容滚动?
查询结果是否按用户最期望的方式进行默认 11 排序,并提供手动排序功能?
文件上传时,是否按要求对文件类型和大小 29 进行检查?
已经上传的文件是否能正确下载和打开?是 30 否正确显示原文件名称?
直接输入错误的附件地址,上传时是否给出 31 提示信息? 32 中文命名的文件是否能正确上传?
是否限制使用不存在的用户或空密码登录系 33 统? 34 是否限制使用登录后的系统链接访问系统? 35 是否限制使用过期的链接访问系统?
保持一致?
日期显示格式是否一致?是否让用户容易理 130 解?
同类界面元素是否有相同的外观和操作方 131 式?
132 相同功能在不同模块的名称是否相同?
133 非法操作是否有足够的提示信息?
功能点没有响应的情况下,是否给出提示信 134 息和操作指引?
是否使用进度条、动画等告知用户系统正在 135 进行比较耗时的操作?
系统出现的各种代码错误是否保存到日志文 44 件?
系统出现异常时是否给出友好提示,而不是 45 抛出代码错误?
在执行破坏性操作(如造成数据无法恢复) 46 之前,是否提示用户进行确认?
相关文档
最新文档