空間站

          北極心空

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks
          作者:江南白衣,原文地址: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一章



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

          posted on 2007-04-18 14:04 蘆葦 閱讀(422) 評論(0)  編輯  收藏 所屬分類: 其他
          主站蜘蛛池模板: 寿宁县| 疏附县| 虹口区| 道真| 阿城市| 甘孜县| 普格县| 尼勒克县| 黔西县| 获嘉县| 咸丰县| 郯城县| 镶黄旗| 博湖县| 阿拉善左旗| 尤溪县| 徐水县| 潮州市| 长寿区| 南城县| 南华县| 天长市| 汕尾市| 古丈县| 鸡泽县| 南乐县| 河北区| 绥化市| 正镶白旗| 西丰县| 铁岭县| 绿春县| 保德县| 抚州市| 天等县| 澄迈县| 连平县| 松潘县| 涞源县| 南开区| 贡山|