架构师任务--制定代码规范(standard of Coding Standards) -...

来源:百度文库 编辑:神马文学网 时间:2024/04/28 16:31:10
 架构师任务--制定代码规范(standard of Coding Standards)
作者:江南白衣,原文地址:http://blog.csdn.net/calvinxiu/archive/2007/04/17/1567553.aspx,转载请保留。
这个系列希望写一些正儿八经的架构设计之外的,属于架构师职责的杂七杂八的事情。
制定项目的代码规范也是架构师的任务之一,下面记一些制定规范的规范,standar of Coding Standars。
1.规范的内容
a.Standars在老外口中可以细化为Conventions,Rules,Guidelines和Best Practices,作为一份有价值的规范,除了定义一些最简单的格式、命名规则外,更要包含足够份量的禁条、指南和最佳实践。
b.规范必须是经实践的,广泛共识,有权威性的标准,而不是凭空发明,认为这样子会更好的东西。
c.规范必须有被描述的价值,只要没烧坏脑袋都会去做的事情就不要再记录了(比如编译器已经强制要求或检查的事情,或者滥用goto语句这样的条款)
d.规范中的条款可以分成必须遵循、推荐遵循与可选建议几个等级。
2.第0条规范-不要拘泥于细节,哪些东西不应该被标准化
----来自《C++ Coding Standards中文版》,很重要的规范。
有些东西只是个人喜好与信仰问题,并不影响程序的正确性可读性,比如,花括号的位置,缩进,空格与缩进符,行的长度以及过多过细的命名规定。
对于它们,只需要规定在一个文件、一个模块中必须一致就可以了,具体使用哪种风格其实并不影响可读性,但若是阅读同一段代码时要在几种风格中切换就有点难受。而且,现代IDE可以很快的转换格式。
另外,匈牙利记法,单入口单出口条例也在书中被认为过时。
3.以别人的规范为基础
a. C++
C++ Coding Standard  很多公司使用的规范,07年1月还在更新。 《C++ Coding Standards中文版》Herb Sutter(Exceptional C++作者),与Andrei Alexandrescu(Modern C++ Design作者)两大鬼才的返璞归真之作。
b. Java
Code Conventions for the Java Programming Language,How to Write Doc Comments for the Javadoc tool by Sun Microsystems, Inc.Draft Java Coding Standard, by Doug Lea (Java并发编程之父)Coding Standards for Java, by Scott W. Ambler (著名书商)
c. Other languages
Google Directory  和Open Directory 上,收集有每种语言的Coding Standard/Styles。
4. Code Review
要通过Code Review来落实规范的执行,善用自动review的工具如Eclipse与Inellij IDEA的代码校验功能和Checkstyle、PMD 这些静态代码分析工具。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1567553
[收藏到我的网摘]   江南白衣发表于 2007年04月17日 11:49:00