真的不知道我的第一篇真正的文章应该以什么为主题。我最终选择了编码规范。
编码规范是什么?
简单说——编码规范是一种…规范。通过建立起一种通用的约定和模式,所有人都遵循,以此帮助打造健壮的软件。
使用编码规范有什么好处?
有很多好处,包括(不仅限于此):
- 保持编码风格,注释风格一致,应用设计模式一致
- 新程序员,通过熟悉你们的编码规范,可以更容易、更快速的掌握你们的程序基础库。
- 减少代码中bug出现的可能性,因为程序员遇到各种情况时有标准可以简单的遵循,有现成的参考。
- 防止利用晦涩难懂的语言功能创造不良代码。例如,C++是一种语言猛兽。有些程序员也许会使用诸如模板和异常等语言功能,尽管这些不是很深奥的语言用法,但仍能产生意想不到的性能问题。
- 遵循业界广泛采用的编码规范更容易获得辅助工具。
- 更容易生成文档。例如,如果项目中的每个人都按照Doxygen格式写注释,你可以轻易的让程序为你的代码生成文档。
使用编码规范还有其它很多好处,在这里一一列出是不可能的。下面是一些被业界广泛采用的编码规范:
- 谷歌编码风格指导 – 包括针对各种语言的编码风格指导,比如C++,Python,ShellScript,Javascript等。我喜欢谷歌的风格指导的原因是,它给读者同时提供了这些编码风格建议的好的和不好的方面。所以请记住,这些编码规范并不是在任何场合都合适。
- 美国太空总署喷气推进实验室提供的一些编码规范指导,当然,他们是开发火箭和宇宙飞船的,所以,他们的指导并不是对所有人都合适,但还是非常有趣的。特别要提到,他们正在起草一个针对Java的编码规范。
- Linux内核编码风格 – 我很吃惊,他们使用8个tab键缩进,要知道,这可是相当宽的缩进。
- Perl语言编码风格指导 – 它提供了Perl程序形式上的风格指导。我最近在网上遇到了各种关于它的争论,尽管我不喜欢Perl(它有它的缺陷),我仍然为它具有惊人多的文档而印象深刻。我开始相信它是一个高质量的语言。Perl提供了各种各样的工具来生成文档,比如perlcritic。
- GNU编码规范 – 主要是格式上的规范,也包含一些关于编程错误预防和编程一致性上的最佳实践方法。