`
江南白衣
  • 浏览: 550075 次
  • 来自: 广州
社区版块
存档分类
最新评论

架构师任务--制定代码规范(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.条款可以分成必须遵循(I)、推荐遵循(II)与可选建议(III)几个等级。

  e.团员意见一致的规范比完美的规范更重要。

2.第0条规范---不要拘泥于细节,个人喜好与过时的东西不应该被标准化

    ----来自《C++ Coding Standards中文版》,很重要的条款。

    有些东西只是个人喜好与信仰问题(MS vs Unix),并不影响程序的正确性可读性,比如,花括号的位置,缩进,空格与缩进符,行的长度,只需要规定在一个文件、一个模块中必须一致就可以了。

    具体使用哪种风格其实并不影响可读性,不值得花太多的时间来争论,规范中更有价值的是格式以外的部分,比如How处理异常,How写log等。何况现代IDE一下就能转换格式。但若是阅读同一段代码时要在几种风格中切换就有点难受。

    过多过细的命名规定也不值得,而匈牙利记法,单入口单出口条例在书中被认为过时。

3.以别人的规范作基础

      a. C++

      b. Java

      c. Other

  •  Google Directory  和 Open Directory 上,每种语言都可能收集有Coding Standard/Styles。
  • RUP的文档中也有C++与Java Programing Guidline Examples。

4. Code Review
    善用自动review的工具如EclipseInellij IDEA的代码校验功能和CheckstylePMD 这些静态代码分析工具。

5.参考资料:
《The Art of Agile Development》Coding Standards一章



分享到:
评论

相关推荐

    sei-cert-cpp-coding-standard-2016-v01_c_安全编程_sei-cert-c-coding_S

    《sei-cert-cpp-coding-standard-2016-v01_c_安全编程_sei-cert-c-coding_S》这份文档是SEI CERT C++编码标准的2016年版本,专注于C和C++编程语言的安全实践。SEI CERT(Software Engineering Institute's Computer ...

    Laravel开发-php-coding-standards-enforcer

    总的来说,"Laravel开发-php-coding-standards-enforcer"是一个强大的工具,可以帮助开发团队在Laravel项目中保持代码的一致性和高质量。通过使用类似PHPCS和ESLint的工具,它可以确保PHP和JavaScript代码遵循统一的...

    sei-cert-c-coding-standard-2016-v01_cstandard_

    《sei-cert-c-coding-standard-2016-v01_cstandard_》是SEI(Software Engineering Institute,软件工程研究所)发布的C语言编程标准,旨在提高C语言代码的安全性和可靠性。这份标准对于C语言开发者来说至关重要,...

    sei-cert-c-coding-standard-2016-v01.pdf

    C 编码规范,描述一些规范,实际编码中注意的问题. SEI CERTC Coding StandardRules for Developing Safe, Reliable, and Secure Systems

    sei-cert-cpp-coding-standard-2016-v01_c_安全编程

    《sei-cert-cpp-coding-standard-2016-v01_c_安全编程》这份文档是SEI(Software Engineering Institute)发布的C++编程安全标准,旨在帮助开发者遵循最佳实践,编写出更安全、可靠的C++代码。SEI CERT C++编码标准...

    Java Coding Standard.pdf

    ### Java编码规范详解 #### 一、引言与目录 **引言** Java编码规范是所有Java开发者在进行软件开发时必须遵循的一套标准。它不仅有助于提高代码的可读性和可维护性,还能增强团队协作效率。本文档旨在提供一套...

    python-coding-standards-of-google.rar_编程规范 python

    Google作为一家全球知名的科技公司,其内部有一套详尽的Python编程规范,这些规范旨在帮助开发者编写出高质量、易于理解的代码。下面,我们将深入探讨Google的Python编码规范,并了解如何将其应用到实际开发中。 1....

    C++编程规范-101条规则(C++ Coding Standards)中文版 part3

    C++ 编程规范-101条规则(C++ Coding Standards)中文版,由ISO C++标准委员会主席Herb Sutter写的,值得 一看.

    c++ Coding Standards

    如果已经工作,学完《C++ Primer》立刻就要参加C++项目开发,那么我推荐阅读《C++编程规范》。《C++编程规范》一书可谓是现代C++编程规范的范本。 《C++编程规范》同时也是专家经验一类的书,这本书篇幅比...

    C++编程规范-101条规则(C++ Coding Standards)中文版 part1

    C++ 编程规范-101条规则(C++ Coding Standards)中文版,由ISO C++标准委员会主席Herb Sutter写的,值得一看.

    Comparison of the Coding Efficiency of Video Coding Standards

    文章还提及,设计一个用于广泛应用的视频编码标准时,标准的制定是为了给予编码器和解码器的开发者最大限度的自由,以实现他们的产品能够适应各种不同的平台架构、应用环境和计算资源的限制。而这种自由度是通过确保...

    C++编程规范-101条规则(C++ Coding Standards)中文版 part2

    C++ 编程规范-101条规则(C++ Coding Standards)中文版,由ISO C++标准委员会主席Herb Sutter写的,值得 一看.

    Comparison of the Coding Efficiency of Video Coding Standard

    文章对比分析了几代视频编码标准的压缩能力,包括H.262/MPEG-2视频、H.263、MPEG-4 Visual、H.264/MPEG-4 AVC(Advanced Video Coding)以及最新的High Efficiency Video Coding (HEVC)。通过峰值信噪比(PSNR)和主观...

    PSR-1_ Basic Coding Standard - PHP-FIG.pdf

    This section of the standard comprises what should be considered the standard coding elements that are required to ensure a high level of technical interoperability between shared PHP code.

    C安全编码标准-CERT C Programming Language Secure Coding Standard

    This document represents a preliminary draft of the CERT C Programming Language Secure Coding Standard. This project was initiated following the 2006 Berlin meeting of WG14 to produce a secure coding ...

    AISG-Antenna-Port-Color-Coding-v3.1.pdf

    AISG(Antenna Interface Standards Group)是一个致力于制定天线接口标准的组织,其发布的《AISG天线端口颜色编码v3.1》是通信行业中一个重要的规范。此标准主要规定了不同天线端口颜色与特定频段的对应关系,以...

    C-2015-GNU Coding Standards

    C-2015-GNU Coding Standards GNU 编码规范文档是自由软件基金会(Free Software Foundation)发布的一份编码规范文档,旨在帮助开发者编写高质量、可维护、可读的代码。该文档涵盖了编程语言选择、代码风格、注释...

    Overview of the High Efficiency Video Coding(HEVC) Standard.pdf

    Abstract—High Efficiency Video Coding (HEVC) is currently being prepared as the newest video coding standard of the ITU-T Video Coding Experts Group and the ISO/IEC Moving Picture Experts Group....

    Mutuduxf#CSharp-Coding-Standards#mongodb数据库规范1

    mongodb数据库规范mongodb数据库命名规范 例如:公司名_模块名 FlytExpress_xxxxa.禁止使用任何 " _ "(下划线)外的特殊字符b

Global site tag (gtag.js) - Google Analytics