「讀程式碼的人清楚看得懂,好維護,就是一個好的程式碼!」
有兩位前輩在我提出 「到底怎麼樣才是一個好的程式碼?越短越好嗎?」 時都給我這樣的回答,而我也把這句話奉為圭臬。思考該不該用註解? 該怎麼命名? 要不要多命名一個變數拆行寫? 時,我都會以這句話為出發點思考。簡潔仍是需要追求的,但前提是要讓人一眼就懂。
行有行規,寫程式碼也有一些基本規範,需要規範原因跟上面很像:
1.讓程式可以跑
2.讓程式好讀
以下是C#語言的基本撰寫規則與命名限制
1.C#是大小寫敏感的:
Apple跟apple是代表不一樣的東西喔~
2.C#每行需要用 ; 結尾:
沒有為什麼,就是這樣XD
3.該縮排要縮排:
每一組{}都代表一個程式碼區塊,每一層的內容都要往內縮一排方便閱讀
4.主控台(console模式)裡,一個Main()只能出現在一個類別內 :進入點只有一個
1.不能以數字開頭:
第一個字可以用大寫寫英文、底線、中文,但考量編碼及國際接軌問題,不建議使用中文。第二個字以後可以是英文、數字、底線、中文。IDE會提醒你的,不用擔心命名錯誤。
2.除了@以及 _ 外不能使用特殊符號命名:
@用法請見第三點。 _ 可以寫在變數最前方(請見第五點)或是兩個單字中間。其他如空格、&等符號都不能使用。
3.保留字不可當變數命名使用:
除非在前方加上@,但仍然不建議。C#的詳細保留字請見MSDN:C# 關鍵字
4.變數名字要取的有意義:
如果你1-10個變數分別是A1、A2、A3....A10,讀的人並無法一眼了解變數意義,可讀難度提升。 還有被夥伴抓去打的可能。有意義的名字如顧客編號:CustomerID、產品價格ProductPrice。
5.Field變數最前方習慣加底線 :
如: _apple
。
6.使用Pascal或是Camel 命名法:
- Pascal命名法:每一單字字首字母大寫。如:AppleCake
→使用時機:Namespace/Class/Type/Method/Property/Event/Enum/Interface(前方要加大寫I,如IAppleCake)
- Camel 命名法:第一個字的字母小寫,其餘每一單字字首字母大寫。如:appleCake
→使用時機:參數Parameter/變數命名variable/欄位Field
7.其他你的團隊的命名規範
另外關於Coding Style的部分,初學者應該還不會有這個困擾。團隊若要規範Coding Style,可以參考StyleCop這個工具喔~
====其他補充====
感謝下方留言處優悠大大的分享,#region跟#endregion可以自訂縮放範圍,讓程式碼更好讀唷!
寫法:
#region
要收合的程式碼寫這
#endregion
效果如下方這樣:
#region 程式一
#endregion
這個自訂縮放範圍,也能讓程式碼好讀!
噢噢噢感謝分享!這個好實用喔!
#region 這一段的名稱
...
#endregion
這樣可以給region名稱,不用在找程式時還要展開。
原來上面優悠大大是這個意思!!!感謝補充!!!立馬加個示意圖XD