概述
Java 項目開發過程中,由於開發人員的經驗、代碼風格各不相同,以及缺乏 統一的標準和管理流程,往往導致整個項目的代碼品質較差,難於維護,需要較 大的測試投入和周期等問題。這些問題在一個項目組初建、需求和設計均具有不 完全可預期性和完備性的全新項目中將尤為突出。本文將結合敏捷開發週期短, 變化快等特點,介紹如何通過在開發過程中採取一系列步驟來保證和提高整個開 發團隊的代碼品質,並闡述了每一步可以利用的工具和最佳實務,從而使開發過 程更加正常化,成就高品質的代碼,減少測試的投入,並促進整個團隊的技能提 高,最終提高開發效率和品質。
如圖 1 所示,敏捷開發過程經曆需求調研,用例分析和用例分解,進入開發 迭代階段。在每個迭代過程中,可以採用以下五個步驟來保證和提高整個項目的 代碼品質:統一編碼規範、代碼樣式;靜態程式碼分析(static code review); 單元測試;持續整合;程式碼檢閱和重構(Review & Refactor)。下文將針 對每個步驟和其所使用的工具、方法進行詳細描述。
圖 1. 敏捷開發中的 Java 代碼品質保證步驟
步驟一:統一編碼規範、代碼樣式
規範統一的編碼會增加項目代碼的可讀性和可維護性,但實際情況往往是項 目組內的 Java 代碼開發人員的編碼風格常常各不相同,這可能是由於不同的經 驗習慣或者缺乏編碼規範方面的學習造成的。這樣一來,其他項目成員或者維護 人員在閱讀項目代碼時就需要花費更多的時間來理解代碼作者的意圖,所以制定 並採取統一的編碼規範就顯得很重要。編碼規範主要應包含以下幾個方面:
一般規則和格式規範。例如代碼縮排、程式塊規範、每行最大代碼長度等。
命名規則。例如包名、類名、變數、方法、介面、參數等命名規範
文檔規範。例如類檔案頭聲明、類注釋、成員變數和方法注釋等規範。
編程規範。例如異常、並發、多線程等方面的處理方式。
其他規範。例如日誌格式、屬性檔案格式,傳回值和訊息格式。
項目的編碼規範可以參考已有的一些 Java 編程規範書籍和其他相關資料並 結合項目的本身來制定,可供參考的書籍有《 Java 編程風格》(英文書名為: The Elements of Java Style)。編碼規範要形成文檔,而且要簡潔明了,並組 織項目成員一起學習,確保所有成員正確理解所有條目。