引言:什麼是編程風格?
白居易寫詩讓老婆婆聽,聽不懂就改;代碼通俗易懂,這才是風格。讀歷史課本有一股馬列氣息;代碼前後一致,這才是風格。風格的本質是降低認知負荷,促進溝通。
通天塔的隱喻
人類想建通天塔,語言相通則成功;上帝讓語言不通,計劃失敗。軟件開發中,每個人有個人風格(如大括號換行),統一風格形成規範,才能「再造通天塔」。Google 限制 C++ 特性、強制 80 字符行寬(源於 VT100 終端),皆為一致性服務。
兩種風格哲學的對比
總結 1:統一規範,構建通天塔
- 大家遵守規範 → 代碼一致 → 溝通容易 → 通天塔可建成。
- Google 風格指南:放棄個人偏好,遵循一致性。
- 80 字符限制:歷史遺留(VT100 屏幕),現代雖無硬性物理限制,但利於代碼閱讀與並排視圖。
總結 2:部落多樣性,技術與藝術的結合
- 微軟風格:MFC 代碼行超 150 字符,變量命名無統一前綴(i/n/ui),STL 源碼難讀,註釋依賴程序員自覺,引入第三方代碼(BCG)不強求風格一致。
- 微軟像一個社會:有本地人,有外來戶,說著流利方言。
- 編程是技術與藝術結合,每個部落用智慧自由展現。
給開發者的建議
- 團隊項目:嚴格執行統一規範(如 Google、LLVM 風格),工具自動化檢查(clang-format)。
- 開源/跨團隊:尊重項目既有風格,不要強行統一。
- 個人項目:形成自己的風格並保持自洽。
「只有生物多樣性,生命才會蓬勃旺盛。」—— 在統一與多樣之間找到平衡,是成熟工程師的標誌。