- 建议时长 1.5-2小时
- 针对业务逻辑复杂的、有技术难度的、耗费资源多的、能力较弱的工程师所写代码。
- 评审前需做好准备
- 填写说明:对每一个检查项目,根据具体情况填写结果,如“是、否、不适用、具体的名称”等。
检查项目 |
结果 |
说明 |
模块名 |
|
|
审查人员 |
|
|
版本 |
1.0 |
|
日期 |
YYYY-MM-DD |
|
程序设计语言 |
|
|
作者 |
|
|
文件数 |
|
|
检查项目 |
结果 |
说明 |
代码通过编译,没有任何错误 |
|
|
代码通过编译,没有任何警告信息 |
|
|
存在单元测试 |
|
|
代码处于源代码版本控制之下 |
|
|
使用检查工具对代码进行了检查 |
|
|
检查工具名称 |
|
|
使用检查工具检查的结果 |
|
|
检查项目 |
结果 |
说明 |
代码通过编译,没有任何错误 |
是 |
|
代码通过编译,没有任何警告信息 |
是 |
|
存在单元测试 |
否 |
|
代码处于源代码版本控制之下 |
是 |
|
使用检查工具对代码进行了检查 |
是 |
|
检查工具名称 |
SonarLint |
|
使用检查工具检查的结果 |
Error(0) |
在VS Code中使用SonarLint,检查结果在 Problems 面板上可以看到为 Error(0) |
检查项目 |
结果 |
说明 |
代码已完成(相对于软件功能定义来说) |
|
|
选择的算法模型很好 |
|
|
采用了恰当的设计模式 |
|
|
任何缺失的功能都已在代码中清晰的标出 |
|
|
代码的结构很好 |
|
|
存在设计文档 |
|
|
代码与这些文档相符 |
|
|
检查项目 |
结果 |
说明 |
代码已完成(相对于软件功能定义来说) |
是 |
|
选择的算法模型很好 |
不适合 |
|
采用了恰当的设计模式 |
否 |
|
任何缺失的功能都已在代码中清晰的标出 |
不适合 |
|
代码的结构很好 |
是 |
|
存在设计文档 |
是 |
|
代码与这些文档相符 |
是 |
|
检查项目 |
结果 |
说明 |
代码的布局很清晰 |
|
|
代码遵循项目的风格准则 |
|
|
存在良好(无歧义)的公共API |
|
|
选择的名称表达清晰和易理解 |
|
|
检查项目 |
结果 |
说明 |
代码的布局很清晰 |
是 |
|
代码遵循项目的风格准则 |
是 |
|
存在良好(无歧义)的公共API |
是 |
|
选择的名称都很好 |
是 |
|
检查项目 |
结果 |
说明 |
避免空指针 |
|
|
数据类型选择正确并使用类型检查 |
|
|
所有输入都经过验证 |
|
|
限制资源使用 |
不适用 |
|
控制并发 |
否 |
|
避免循环引用 |
|
|
不存在特定编译器功能(C/C++) |
|
|
检查项目 |
结果 |
说明 |
避免空指针 |
是 |
|
数据类型选择正确并使用类型检查 |
是 |
|
所有输入都经过验证 |
是 |
|
限制资源使用 |
不适用 |
|
控制并发 |
否 |
是 |
避免循环引用 |
是 |
|
不存在特定编译器功能(C/C++) |
否 |
|
检查项目 |
结果 |
说明 |
错误情况都得到了处理 |
|
|
使用断言来验证逻辑 |
|
|
代码是异常安全(exception safe)的 |
|
|
错误将被传播,而不会被隐藏 |
|
|
本地有日志文件 |
|
|
没有任何资源被泄露 |
|
|
代码使用多线程 |
|
|
它是线程安全的 |
|
|
不会发生死锁 |
|
|
检查项目 |
结果 |
说明 |
错误情况都得到了处理 |
是 |
|
使用断言来验证逻辑 |
否 |
|
代码是异常安全(exception safe)的 |
是 |
|
错误将被传播,而不会被隐藏 |
是 |
|
本地有日志文件 |
否 |
|
没有任何资源被泄露 |
未知 |
|
代码使用多线程 |
不适用 |
|
它是线程安全的 |
不适用 |
|
不会发生死锁 |
是 |
|
检查项目 |
结果 |
说明 |
不存在冗余的代码 |
|
|
不存在剪切粘贴式的编程 |
|
|
检查项目 |
结果 |
说明 |
不存在冗余的代码 |
是 |
|
不存在剪切粘贴式的编程 |
否 |
|
文件 |
行 |
问题 |
说明 |
|
223 |
if条件判断语句过长 |
|
|
1171 |
switch语句可以优化 |
|
|
2502 |
if条件判断语句过长 |
|
|
|
使用System.err输出,未用log |
|
检查项目 |
结果 |
说明 |
代码质量较好 |
|
|
重新编写并验证 |
|
|
重新编写并重新审查 |
|
|
检查项目 |
结果 |
说明 |
代码质量较好 |
是或否 |
|
重新编写并验证 |
完成,未完成 |
|
重新编写并重新审查 |
通过,未通过 |
|
代码质量较好为“否”时,需要“重新编写并验证”和“重新编写并重新审查”。
检查项目 |
结果 |
说明 |
审查 |
结果1:存在问题,需重新校验并重新审查结果2:通过审查 |
|
校验 |
结果1:未通过校验结果2:通过校验 |
|