C#: 程式碼風格備忘
前言:本篇是整理公司規範和網路文章後,方便我自己在各個場所也能回來查閱使用的,故仍會不定時修改(畢竟我這人挺三心二意的)。另外本篇有重新調整過行距,發現有點跑版的朋友可以先 Ctrl+F5 一下,感謝閱讀。
如果你想知道的是如何寫出更優雅、更乾淨、品質更高的程式碼,那並不是該看這篇我個人的備忘錄,我會建議可以閱讀《無暇的程式碼》。或是可以參考這幾篇,我覺得都寫得很好:可不可以不要寫糙 code、Clean Code 無瑕的程式碼閱讀筆記、易讀程式之美學,共勉之。
如果你是正巧路過並且也寫 C#,希望這篇能讓你做為參考。但請記得,程式碼風格沒有絕對,最終還是回歸到團隊能否接受和將來的可維護性去考慮,畢竟教條是死的,人是活的。了解這樣做背後的原因,以及為自己寫的程式碼負責,這些都比對著隻字片語斤斤計較更加重要。
Nothing is true, everything is permitted. —— Assassin’s creed.
命名原則
想像下一個接手你程式碼的人是個暴力傾向的重度精神病患者
而且他知道你住在哪。 —— 《無瑕的程式碼》
- 使用有意義的命名,請重視描述性。除了迴圈計數器例外
- 盡量不要超過五個單字
- 業界和慣例中有對應縮寫時可以使用縮寫
- 承上,縮寫兩個字母時全大寫,三個字母以上時只第一字大寫
命名空間
- 基礎類別庫:{組織} . {大類/應用範圍} . {小類/專案名稱}
MyStudio.Libs.Basic
MyStudio.Libs.Web.BaseTools
- 專案類別庫:{專案名稱} . {子專案/類別/用途}
MyProject.Permiss.Proxy
MyProject.Permiss.Repository