檢查程式碼品質
程式碼品質不應以個人意見來衡量。 編寫程式碼的開發人員會對自己的程式碼給予很高的評價,但這不是衡量程式碼品質的可靠方法。 不同的團隊可能會根據他們正在構建的內容使用不同的定義。
被認為是高質量的代碼對於汽車軟件開發人員來說可能意味著一回事,而對於 Web 應用程序開發人員來說可能意味著不同的事情。
程式碼品質很重要,因為它會影響整體軟體品質。
一項關於「軟體缺陷起源和消除方法」的研究發現,個別程式設計師在自己的軟體中發現的錯誤不到 50%。 大多數形式的測試只能發現 35% 的錯誤。 這使得很難確定質量。
要獲得更高品質的程式碼,需要衡量五個關鍵特徵:
可靠性
可靠性衡量系統在特定時間段內無故障運行的可能性。 這與軟體的瑕疵數量和可用性有關。 您可以通過運行靜態分析工具來測量多個缺陷。
軟體可用性可使用平均故障間隔時間 (MTBF) 來測量。
低缺陷數對於開發可靠的程式碼至關重要。
可維護性
可維護性會測量維護軟體的容易程度。 它與程式碼的大小、一致性、結構和複雜性有關。 確保原始程式碼可維護取決於幾個因素,例如可測試性和可理解性。
您無法使用單一計量來確保可維護性。
您可以考慮的一些提升可維護性的指標包括樣式警告數量和 Halstead 複雜度指標。
自動化和人工審核者對於開發可維護的程式碼都很重要。
可測試性
可測試性會測量軟體對測試工作的支援程度。 這取決於您控制、觀察、隔離和自動化測試的能力,以及其他因素。
可測試性可根據您需要以多少個測試案例在系統中尋找潛在錯誤來測量。
軟體的大小和複雜度都可能影響可測試性。
因此,在程式碼層級套用方法 (例如循環複雜度) 可協助您改善元件的可測試性。
可攜性
可攜性會測量相同軟體在不同環境中的可用性。 這與平台獨立性有關。
可攜性沒有特定的量值。 不過,有數種方式可以確保程式碼的可攜性。
定期在不同平台上測試程式碼而不是等到開發結束非常重要。
也建議您將編譯器警告層級設得愈高愈好,並且至少使用兩個編譯器。
遵循編碼標準也有助於可移植性。
重複使用性
重複使用性會測量現有資產 (例如程式碼) 是否可再次使用。
如果資產具有模組化或鬆散結合的特性,則較容易重複使用。
相互依存性的數目可測量重複使用性。
執行靜態分析器可協助您識別這些相互依存性。