潛魚在淵

          Concentrating on Architectures.

          posts - 77, comments - 309, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          代碼檢查指南

          Posted on 2005-12-01 20:32 非魚 閱讀(2154) 評論(1)  編輯  收藏 所屬分類: Java技術
              代碼檢查對于開發非常重要,一些大規模的應用變得越來越難以維護,往往和代碼檢查直接相關。對于一個規范的開發過程而言,代碼檢查是重要但容易被忽視的一個步驟:或者檢查不仔細、不認真,或者檢查的內容不足。

              代碼檢查主要包括兩個方面:一是設計附合度檢查;一是代碼邏輯檢查。

              設計附合度檢查

              檢查代碼是否按照設計文檔編寫。首先需要檢查的就是包依賴關系,是否在代碼中引入了沒有在設計中指定的包?這是最重要的一個檢查點,引入了設計中未定義、 未指明的包是大規模應用越來越難以維護的直接罪魁禍首之一。設計可能沒有考慮到需要附加的包中的類,這是正常的。當編寫代碼的程序員遇到這種情況時,應該 和設計人員溝通,一起來解決這個問題,而不是養成隨手增加引入包的習慣。如果每個程序員都這樣操作,可以想像一個項目最終會變成什么樣子。

              其次,要檢查設計中確定的方法的Signature。是否由指定的protected變成了public?是否修改了方法名、調用參數和返回類型?這些細 節也可能會違反設計師的初衷,把本來設計師深思熟慮的結果變成考慮不足的代碼。這些地方是影響代碼微結構的因素之一。

              設計附合度檢查一般由設計人員執行。

              代碼邏輯檢查

              代碼邏輯檢查是多數實行代碼檢查制度的公司重點檢查的內容。它檢查代碼是否存在邏輯上的錯誤。這項檢查的目的是盡早發現并解決潛在的缺陷,一般由有經驗的程序員同行執行。

              代碼檢查,我們遺漏了什么?

              代碼邏輯檢查不是代碼檢查的主要內容,因為在調試、測試階段邏輯問題基本上都可以被發現。在代碼檢查階段檢查代碼邏輯,目的僅僅是為了降低成本,早發現錯誤可以大速度降低成本。

              代碼檢查的真正重點,也是我們忽略的部分,就是設計附合度的檢查。任何調試、測試都不能發現這方面的問題,因為它是附合邏輯的;存在設計附合度問題的程序在運行上不會有任何問題,它只是讓你的設計變成一堆廢物,讓你的軟件越來越不可維護。

              現在你知道了,不要再忽略這個檢查了!

          評論

          # re: 代碼檢查指南  回復  更多評論   

          2005-12-22 14:20 by idontknow
          估計你實際做的pr非常少。code 的pr幾年前就有人專門寫了一本書了,建議你還是看完再說吧。
          主站蜘蛛池模板: 久治县| 多伦县| 射阳县| 资兴市| 延寿县| 怀集县| 丽江市| 西华县| 两当县| 台湾省| 康平县| 白朗县| 平塘县| 乐都县| 花莲市| 出国| 会东县| 宜良县| 赫章县| 甘洛县| 谷城县| 会昌县| 绥滨县| 观塘区| 大足县| 罗定市| 福建省| 定襄县| 弥渡县| 光山县| 黔东| 桂平市| 乐亭县| 上林县| 阿拉善盟| 凤凰县| 哈密市| 西丰县| 五莲县| 花莲市| 通辽市|