檢查程式碼品質
程式碼的品質不應以主觀的方式測量。 開發人員撰寫的程式碼會將其程式碼品質評為高分,但這並非測量程式碼品質的適當方式。 不同的團隊可能會根據內容使用不同的定義。
對汽車開發人員來說,被視為高品質的程式碼可能有某種意涵。 而對於 Web 應用程式開發人員,這可能代表另一回事。
程式碼的品質會影響整體軟體品質,因此是不可或缺的。
一項關於「軟體瑕疵來源與移除方法」的研究發現,個別程式設計師在其軟體中發現錯誤 (bug) 的效率低於 50%。 而且,多數形式的測試只有 35% 的效率。 這會讓您難以判定品質。
有五向主要特質可用來測量較高的品質。
可靠性
可靠性會測量系統在特定的作業期間內順利執行而不失敗的可能性。 這與軟體的瑕疵數量和可用性有關。 您可以執行靜態分析工具來測量數項瑕疵。
軟體可用性可使用平均故障間隔時間 (MTBF) 來測量。
降低瑕疵計數對於開發可靠的程式碼基底至關重要。
可維護性
可維護性會測量維護軟體的容易程度。 這與程式碼基底的大小、一致性、結構和複雜度有關。 此外,要確實維護原始程式碼需仰賴若干因素,例如可測試性和可理解性。
您無法使用單一計量來確保可維護性。
為了改善可維護性,您可以考慮使用一些計量,包括樣式警告和 Halstead 複雜度計量的數目。
自動化和人工檢閱者對於開發可維護的程式碼基底都是至關重要的。
可測試性
可測試性會測量軟體對測試工作的支援程度。 這取決於您能夠控制、觀察、隔離及自動化測試的程度,以及其他因素。
可測試性可根據您需要以多少個測試案例在系統中尋找潛在錯誤來測量。
軟體的大小和複雜度都可能影響可測試性。
因此,在程式碼層級套用方法 (例如循環複雜度) 可協助您改善元件的可測試性。
可攜性
可攜性會測量相同軟體在不同環境中的可用性。 這與平台獨立性有關。
可攜性沒有特定的量值。 不過,有數種方式可以確保程式碼的可攜性。
請務必定期在不同的平台上測試程式碼,而不是等到開發結束才測試。
也建議您將編譯器警告層級設得愈高愈好,並且至少使用兩個編譯器。
強制執行編碼標準也有助於提升可攜性。
重複使用性
重複使用性會測量現有資產 (例如程式碼) 是否可再次使用。
如果資產具有模組化或鬆散結合的特性,則較容易重複使用。
相互依存性的數目可測量重複使用性。
執行靜態分析器可協助您識別這些相互依存性。