程序员刘杨

———没有写不出的程序,只有不努力的程序员。

2016年09月15日   码农之路   1,274 次浏览

祝大家新年快乐,有任何问题可与我联系:点击这里给我发消息

强烈推荐每个程序员必备“代码检查清单”,尤其是对于初级程序员来说特别重要。当写完程序后对照着清单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:发现自己以前有好多小坏毛病,看到大牛的清单后果断吸收并改进^_^,在此感谢各位大牛。

赞 赏
申明:除非注明,本站文章均为原创,转载请以链接形式标明本文地址。 如有问题,请于一周内与本站联系,本站将在第一时间对相关内容进行处理。
本文地址: http://www.yyjjssnn.cn/articles/734.html

>>> Hello World <<<

这篇内容是否帮助到你了呢?

如果你有任何疑问或有建议留给其他朋友,都可以给我留言。

:wink: :twisted: :surprised: :smile: :smile9: :smile8: :smile7: :smile6: :smile5: :smile56: :smile55: :smile54: :smile53: :smile52: :smile51: :smile50: :smile4: :smile49: :smile48: :smile47: :smile46: :smile45: :smile44: :smile43: :smile42: :smile41: :smile40: :smile3: :smile39: :smile38: :smile37: :smile36: :smile35: :smile34: :smile33: :smile32: :smile31: :smile30: :smile2: :smile29: :smile28: :smile27: :smile26: :smile25: :smile24: :smile23: :smile22: :smile21: :smile20: :smile1: :smile19: :smile18: :smile17: :smile16: :smile15: :smile14: :smile13: :smile12: :smile11: :smile10: :smile0: :sad: :rolleyes1: :redface: :razz: :question: :neutral: :mrgreen: :mad: :lol: :idea: :exclaim: :evil: :eek: :cry: :cool: :confused: :biggrin: :arrow:

友情链接: 程序员刘杨 刘杨
Copyright 2003~2018 保留所有权利 | 网站地图
备案号:湘ICP备14001005号-2

湘公网安备 43011102001322号