Bozhidar Bozhanov在他的文章《7 questions to ask yourself about your code》提出了7个问题。
是不是实现了规格说明书中的需求?如果没有规格说明书,你自己是不是付出了足够的努力来找出软件期待的行为,并且把他测试了一遍?(最好是自动的,至少也得有手工的测试)。
不管你的需求文档中写没写,你的代码是不是仔细思考了边界条件?很多边界条件都是技术相关的:连接断开、内存不足、硬盘已满等等。
它是不是遵循了安全的最佳实践,是否验证了输入数据,防止了数据注入?它是否经过了对已知攻击的安全测试?安全当然不仅仅是代码,但是代码的确可以引入不少安全漏洞。
其他人是不是可以轻松地理解你写的代码?有没有适当的注释来描述一小部分代码在一个大场景中的位置?有没有把代码拆分成小的、可以读的单元?
代码是否允许添加新的功能而不破坏老的代码?是不是参数化的、或者可配置的?有没有使用恰当的设计模式来支持扩展?
在高负荷下能否工作正常?是否避免了一次性读入大量数据到内存中,是否适当地使用了异步的处理?
你觉得你的代码会让你很自豪,还是说你想把它藏起来不让别人看到?
大部分代码都是平凡的,不是光芒四射的,但是你的代码是不是展示了一些比较好的实践?你是否愿意把它放到Github上去?