甲虫天下

天下行,行天下。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2007-04-17 20:38  hexapod  阅读(378)  评论(0编辑  收藏  举报

 作者:江南白衣,原文地址: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

      c. Other languages 

      Google Directory  和 Open Directory 上,收集有每种语言的Coding Standard/Styles。

4. Code Review

    要通过Code Review来落实规范的执行,善用自动review的工具如EclipseInellij IDEA的代码校验功能和CheckstylePMD 这些静态代码分析工具。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1567553


[收藏到我的网摘]   江南白衣发表于 2007年04月17日 11:49:00