2016年09月15日   码农之路   2,653 次浏览
强烈推荐每个程序员必备“代码检查清单”,尤其是对于初级程序员来说特别重要。当写完程序后对照着清单code review下,非常有助于养成良好的编程习惯。以下是结合网上各位大牛的清单和自己的清单整合出来的。
序号 | 分类 | 代码检查清单 |
1 | 注释 | 所有的注释都是准确的 |
2 | 注释 | 注释是否足够清晰的描述每个子程序 |
3 | 注释 | 走捷径的、不明确的、复杂的代码,它们是否被清楚的注释 |
4 | 注释 | Javadoc应该在每一个类和方法中添加 |
5 | 注释 | 如果是修复某个bug,应该添加bugid和bug标题 |
6 | 注释 | 是否有被注释掉的代码 |
7 | 注释 | 复杂的HTML,JavaScript,CSS应该包含注释 |
8 | 异常 | 使用异常而不是返回码 |
9 | 异常 | 对可以恢复的情况使用已受检异常,对于程序错误使用运行时异常 |
10 | 异常 | 更多地使用标准异常 |
11 | 异常 | 任何情况下都不要忽略异常 |
12 | 异常 | 针对不同的Exception尽量用不同的catch语句,而不是一个Exception解决所有问题 |
13 | 格式 | 使用可以表达实际意图的名称 |
14 | 格式 | 每一个概念只用一个词 |
15 | 格式 | 类应该是比较小的,单一职责原则 |
16 | 格式 | 函数应该是比较小的,只做一件事 |
17 | 格式 | DRY(Don’t Repeat Yourself)原则,(拒绝重复) |
18 | 格式 | 使用统一的格式化技巧(如缩进、空白等)用来增强代码的清晰度:ctrl+shift+f |
19 | 格式 | 代码中是否存在任何没有定义或没有引用到的变量、常数或数据类型 |
20 | 格式 | 每行代码的尾部不要有多余的空格 |
21 | 格式 | 每一个单独的方法不应该超过100行 |
22 | 格式 | 一个单独的语句不应该超过编辑器的可视区域,它可以被拆分成几行 |
23 | 测试 | 存在有效的测试用例 |
24 | 测试 | 代码中的实现技术是否便于测试 |
25 | 测试 | 测试覆盖率是否满足要求,必须覆盖核心代码 |
26 | 测试 | 被修改的代码是否测试到 |
27 | 测试 | 测试代码的编码要求同JAVA代码 |
28 | 编码 | 返回空数组或集合或默认值,而不是null |
29 | 编码 | 避免过分的同步,要保持同步区域比较小 |
30 | 编码 | string使用频繁时应使用stringbuffer |
31 | 编码 | 避免创建不需要的对象 |
32 | 编码 | 最小化包,类,接口,方法,变量的可访问性 |
33 | 编码 | 总是重写toString |
34 | 编码 | 对共享可变的数据使用同步访问 |
35 | 编码 | 代码涉及到的常量是否易于修改(如使用配置、定义为类常量、使用专门的常量类等) |
36 | 编码 | 代码是否无意中陷入了死循环 |
37 | 编码 | 代码是否是否避免了无穷递归 |
38 | 编码 | 代码是否采取措施避免运行时错误(如数组边界溢出、被零除、值越界、堆栈溢出等) |
39 | 编码 | 任何新加的代码不应该破坏已有的代码 |
40 | 编码 | MVC结构中C承担了太多职责 |
41 | 编码 | 所有数据库和文件操句柄在不需要的时候都应该被关闭 |
42 | 安全 | 系统的输入必须检查是否有效和在允许范围内 |
43 | 安全 | 从异常中清除敏感信息(暴露文件路径,系统内部相关,配置) |
44 | 安全 | 不要把高度敏感的信息写到日志 |
45 | 安全 | 考虑把高度敏感的信息在使用后从内存中清除 |
46 | 安全 | 检验输入参数的有效性(有效的数据,大小,范围,边界情况等等) |
47 | 安全 | 把从不可信对象得到的输出作为输入来检验 |
48 | 安全 | 任何代码都不能执行用户的输入,除非转义过了。如:eval函数和sql语句 |
PS:发现自己以前有好多小坏毛病,看到大牛的清单后果断吸收并改进^_^,在此感谢各位大牛。
>>> Hello World <<<
这篇内容是否帮助到你了呢?
如果你有任何疑问或有建议留给其他朋友,都可以给我留言。