text: GNU 編碼標準是 GNU 專案編寫程式程式碼的一套規則指南，由 Richard Stallman 和其他 GNU 專案志願者撰寫。它的文件也是 GNU 專案的一部分，可以從 GNU 網站獲取。它本身是指導 GNU 自由軟體的 C 語言程式碼的，但許多規定都可以推廣使用。GNU 鼓勵貢獻者們遵循這一標準。程式碼格式.GNU 編碼標準對 C 語言程式碼的格式有著嚴格的規範。下面是一個典型的例子：intmain (int argc, char *argv)struct gizmo foo;fetch_gizmo (&amp;foo, argv);check:if (foo.type == MOOMIN)puts ("It's a moomin.");else if (foo.bar  win (x, y, z)&amp;&amp; remaining_condition)註釋.標準裡特別強調了英文註釋的重要性。在 GNU 程式中寫註釋，請使用英文，因為幾乎各國所有的程式設計師都能夠讀懂英文。如果英文寫得不太好，也請儘量用英文寫，然後請其他人幫忙修改。如果無法用英文寫評論，那麼請找人和你一同工作，將你的註釋譯成英文。註釋是由完整的句子組成的，句子的首個字母是大寫的。每個句子後面跟兩個空格。Emacs 也可以以此判斷一個句子在哪裡結束，下一個句子從哪裡開始。進行條件判斷的預處理指令，比較長或者比較複雜的，每一個codice_1和codice_2都應附一條註釋，解釋測試條件。檔案.標準要求，在codice_3和codice_4以只讀方式掛載時，所有程式也都能夠執行。因此，出於內部目的修改的檔案不應儲存在這兩處。一個例外是要更新codice_4 中的系統配置檔案，另一個是使用者明確要求需要修改。可移植性.GNU 編碼標準對可移植性有著這樣的定義：在 Unix 世界裡的可移植性，是說“在 Unix 之間”；在程式中，這種可移植性值得擁有，但不是一定要有。根據這一標準，可移植性問題不大。因為原始碼的編寫只考慮 GCC的編譯行為，程式也只在一個系統——GNU 系統上執行。但是仍然有一個可移植性問題。標準明確規定，程式應能夠在各類 CPU 上執行。標準規定，GNU 不支援也不會支援 16 位系統，但必須能夠應對所有不同的 32 位和 64 位系統。批評.Linux 核心強烈反對這種風格：“建議你把 GNU 編碼標準列印一份，但不去讀它，而是把它燒掉，這是個非常好的象徵性動作。”在 Code Complete 一書中也建議不要使用這種風格。他認為，這樣的大括號縮排讓程式碼可讀性降低了。他將這樣的示例程式碼標記為“編碼恐怖”，表明這種程式碼特別危險。
metadata.dataset: erhwenkuo/wikipedia-zhtw
metadata.title: GNU編碼標準
metadata.url: https://zh.wikipedia.org/wiki?curid=8142328