程式可讀性
外觀
編程領域的可讀性指的是:人類讀者對於原始碼的功能意圖、流程控制和操作運行是否容易把握。
不同的程式語言,其可讀性也會不同。例如對一般的程式設計者而言,C語言、Java語言等高階語言會比組合語言要容易閱讀[1],不過一般在調整可讀性時,多半是在不改變程式語言的前提下進行調整。
可讀性之所以重要,乃是由於:程式設計師會把大部分時間,花費在閱讀並試圖理解和修改現存原始碼上面,而不是編寫新的原始碼。沒法讀的代碼往往導致缺陷、低效與代碼重複。有研究[2]發現,一點點簡單的可讀性改造,也能讓代碼變得簡短,並且大大縮短看懂所需的時間(就像一段沒有善加利用標點符號,部分帶有冗贅詞語的文句。稍微修改該文句,改以適當的方式使用標點符號,將冗贅詞語修正。就能提高讀者讀取文句訊息的流暢度)。
遵循固定的代碼風格往往會改善可讀性。然而,可讀性並不只是跟編程的風格有關。還有諸多因素會對可讀性有所改善,但這些因素不太會影響到計算機編譯並執行原始碼的效能[3]。這些因素包括:
程式碼的呈現層面的內容(例如縮排、行分隔、顏色高亮等等)多半是由原始碼編輯器在處理,不過程式碼的內容就反映了程式設計者的才能以及技術。
許多視覺化程式設計語言的產生就是為了處理程式可讀性的問題,因此導入了有關程式結構及顯示上許多非傳統的作法。集成開發環境(IDE)的目的也是希望整合一些對程式閱讀、理解、除錯有幫助的工具。像代碼重構之類的技術,在不更改程式執行結果的前提下,調整程式的結構,也可以提昇程式可讀性。
相關條目
[編輯]- 國際C語言混亂代碼大賽
- 程式複雜度
- 循環複雜度:源代碼中線性獨立路徑的個數,可以表示程式的複雜度。
- 優化編譯器:針對程式的大小、執行時間或記憶體佔用進行最佳化的編譯器。
參考資料
[編輯]- ^ 強化程式可讀性,以提升開發的效率
- ^ James L. Elshoff , Michael Marcotty, Improving computer program readability to aid modification, Communications of the ACM, v.25 n.8, p.512-521, Aug 1982.
- ^ Multiple (wiki). Readability. Docforge. [2010-01-30]. (原始內容存檔於2020-04-29).