Skip to content

Latest commit

 

History

History
33 lines (17 loc) · 1.8 KB

提交代码前的七个问题.md

File metadata and controls

33 lines (17 loc) · 1.8 KB

7 questions to ask yourself about your code

Bozhidar Bozhanov在他的文章《7 questions to ask yourself about your code》提出了7个问题。

1. 代码是正确的吗?

是不是实现了规格说明书中的需求?如果没有规格说明书,你自己是不是付出了足够的努力来找出软件期待的行为,并且把他测试了一遍?(最好是自动的,至少也得有手工的测试)。

2. 代码是完整的吗?

不管你的需求文档中写没写,你的代码是不是仔细思考了边界条件?很多边界条件都是技术相关的:连接断开、内存不足、硬盘已满等等。

3. 代码是安全的吗?

它是不是遵循了安全的最佳实践,是否验证了输入数据,防止了数据注入?它是否经过了对已知攻击的安全测试?安全当然不仅仅是代码,但是代码的确可以引入不少安全漏洞。

4. 代码是可读、可维护的吗?

其他人是不是可以轻松地理解你写的代码?有没有适当的注释来描述一小部分代码在一个大场景中的位置?有没有把代码拆分成小的、可以读的单元?

5. 代码是可以扩展的吗?

代码是否允许添加新的功能而不破坏老的代码?是不是参数化的、或者可配置的?有没有使用恰当的设计模式来支持扩展?

6. 代码是不是高效的?

在高负荷下能否工作正常?是否避免了一次性读入大量数据到内存中,是否适当地使用了异步的处理?

7. 有没有一些让你可以自豪的地方?

你觉得你的代码会让你很自豪,还是说你想把它藏起来不让别人看到?

大部分代码都是平凡的,不是光芒四射的,但是你的代码是不是展示了一些比较好的实践?你是否愿意把它放到Github上去?