程式設計基礎/程式設計風格

程式設計風格是在編寫計算機程式的原始碼時使用的一組規則或指南。遵循特定的程式設計風格將有助於程式設計師閱讀和理解符合該風格的原始碼,並有助於避免引入錯誤。[2] 每種語言都有自己的一套規則。遵循正確的指南非常重要,以確保程式碼正常執行。例如,Javascript 不一定需要在函式內部進行縮排。縮排是一種良好的做法,以便使用者可以看到它。在 python 中,程式碼必須縮排才能執行程式。
在程式設計行業中,人們希望軟體程式易於維護。這種願望集中在金錢上。簡單地說,維護一個寫得好的程式成本更低。程式維護的一個重要方面是使原始碼列表清晰易讀。為此,我們將考慮以下內容
- 文件
- 垂直對齊
- 註釋
- 縮排
- 有意義的識別符號名稱一致地輸入
- 適當使用 Typedef
以上專案對於原始碼編譯來說並不需要。從技術上講,編譯器不會像人類閱讀原始碼那樣閱讀原始碼。但這正是重點;我們希望使原始碼更容易被人閱讀。你不應該混淆什麼是可能的(從技術上講會執行)和什麼是好的(可接受的良好程式設計實踐,可以產生可讀的程式碼)。
對於這些專案中的每一個,請檢查所選程式語言的風格指南以確定標準和最佳實踐。以下是一些要考慮的一般指南。
文件通常使用幾行註釋放在程式的頂部。資訊量將根據支付員工或獨立承包商編寫程式碼的公司要求或標準而有所不同。
您在文件區域內看到了這一點。所有專案都在同一列中對齊。當定義變數時,這種垂直對齊再次出現。在宣告變數或常量時,許多教科書在一行上放置多個專案;像這樣
float length, width, height;
雖然這在教科書中很常見,但它通常不符合大多數公司使用的標準。您應該將每個專案宣告在它自己的行上;像這樣
float length; float width; float height;
這種每行使用一個專案的方法更易於被人閱讀。找到識別符號名稱的速度更快,因為您可以更快地垂直閱讀列表,而不是水平搜尋。一些程式設計師會按字母順序列出它們。
函式內部的程式碼行也垂直對齊,並且通常從左側縮排兩個或四個空格。縮排有助於在視覺上突出顯示程式碼塊。
專家對是否以及何時在原始碼中添加註釋有不同的看法。有些人斷言,原始碼應該用很少的註釋編寫,因為原始碼應該是自解釋的或自文件化的。另一些人建議程式碼應該被廣泛註釋,其中超過 50% 的非空白字元應該包含在註釋中。 [3]
在這兩種觀點之間是斷言,註釋本身既不有利也不有害,重要的是它們是正確的並且與原始碼保持同步,如果它們是多餘的、過度的、難以維護或無助,則應該省略它們。[4]
此外,註釋不應該太長。您可以透過將註釋分成多行或透過新增分隔符來建立多行註釋來更改長度。
所有註釋都應該具體說明程式的某個部分應該做什麼。重要的是,您的註釋應該易於理解,並且對於任何閱讀它的人來說都應該是簡單的,以便讓您自己或其他人更容易理解。
對於使用大括號的語言,有兩種常見的縮排樣式
function(parameters) {
// code
}
function(parameters)
{
// code
}
無論哪種情況,重要的是要保持程式碼塊的開始和結束大括號之間的垂直對齊。
用於縮排程式碼塊的空格數通常為兩個或四個空格。應注意確保 IDE 或程式碼編輯器為縮排插入空格而不是製表符。
顧名思義,“識別符號名稱”應該清楚地標識您正在談論的是誰(或什麼)。稱您的配偶為“Snooky”可能只對您有意義。這就是為什麼在像潛在工作場所的面試官這樣的其他人面前稱您的配偶為“Snooky”會導致混亂、疑問,甚至錯誤的謠言,說您愛上了 Nicki Minaj。如果您不說一個對人們有意義的名字,每當這個想法是真或假時,每個人都會對這個名字指的是什麼產生自己的想法。這就是為什麼大多數人可能需要看到她的全名(Jane Mary Smith)才能適當地識別您正在談論的是誰。程式設計中的相同概念也是如此。變數、常量、函式和其他識別符號應該使用有意義的名稱。此外,這些名稱在程式中使用時,應該在大小寫方面保持一致。不要將變數定義為:Pig,然後在程式中稍後將其輸入為:pig。
對於過程程式(與面向物件程式相反)中的識別符號,一個好的經驗法則是對函式識別符號使用動詞-名詞組合,對常量和變數識別符號使用名詞或形容詞-名詞組合。如果函式名稱需要兩個動詞或兩個名詞才能完全描述函式,那麼它可能應該拆分成單獨的函式。
- 括號
- 用於識別 C++、C#、Java 和 JavaScript 等語言中的程式碼塊。
- 一致
- 一條規則,說明在整個原始碼中始終如一地輸入識別符號名稱的大小寫。
- 註釋
- 插入原始碼檔案中的資訊,用於記錄程式。
- 文件
- 一種方法,用於保留有助於他人理解資訊系統或其一部分的有用資訊。
- 縮排
- 一種用於使原始碼部分更顯眼的方法。
- 有意義的
- 一條規則,說明識別符號名稱必須易於被閱讀原始碼的其他人理解。
- 垂直對齊
- 一種方法,用於垂直列出專案,以便更易於快速閱讀。