C# 入門指南
單元 4 - 命名規則與習慣
C# 官方建議的命名方式為 Pascal 命名法與小寫駝峰型
Pascal 命名法又稱為大寫駝峰型。
簡單講就是只用英文二十六個大小寫字母,如下
a | b | c | d | e | f |
g | h | i | j | k | l |
m | n | o | p | q | r |
s | t | u | v | w | x |
y | z | ||||
A | B | C | D | E | F |
G | H | I | J | K | L |
M | N | O | P | Q | R |
S | T | U | V | W | X |
Y | Z |
然後用數個英文單字組成,每一個英文單字都不採取自訂的縮寫形式,例如
Security
Length
StreamReader
ToString
自訂的縮寫模式像是前綴的英文是 prefix ,自訂縮寫為 pre ,由於有很多以 pre 開頭當字首的英文單字,容易混淆,因此 C# 官方文件建議如果不是已經約定俗成的縮寫,就直接用整個英文單詞。
每一個英文單字之間不能有空格,或是其他的空白符號,空格或空白符號會被當成是識別字的分界,因此如果中間有空格會被當成兩個識別字,造成語法錯誤。
下表整理使用 Pascal 命名法的識別字 (identifier) 種類
識別字 | 例子 |
---|---|
命名空間 | Company |
類別 | StreamReader |
介面 | IEnumerable |
方法 | ToString |
屬性 | Length |
欄位 | Min |
列舉 | FileMode |
基本上類別 (class) 建議採用名詞或名詞片語,例如
Random
ArgumentOutOfRangeException
MainWindow
AppCompatActivity
如果是介面 (interface) ,建議在字首加上大寫英文字母 I 做為區別。
方法 (method) 建議採用動詞或動詞片語,例如
CompareTo
New_Button_Click
GetField
WriteLine
屬性 (property) 建議採用名詞、名詞片語或形容詞,並且採肯定語氣,例如
Color
Text
CanSeek
NewButton
參數建議採取小寫駝峰型,例如
e
sender
saveInstanceState
requestCode
其他區域變數 (local variable) 在官方文件中並沒有建議,因此因此採用自己順手、喜歡的就行了。
最後提一點, .NET 允許使用 Unicode 字元命名識別字,包括中文,例如以下用中文取名專案目錄、檔案名稱、命名空間 (namespace) 、類別、變數 (variable) 等
但是要小心,數字或鍵盤上的半形符號有其他的意義,基本上數字不能放在識別字的開頭,其他鍵盤上的半形符號會被當作運算子解讀。
雖說是允許,但是換到 Visual Studio 後, Visual Studio 可能會要求將每個地方的識別字改成官方建議的模式,不然有可能無法建置執行,因此強烈建議多寫程式練習,習慣 C# 官方建議的命名方式,避免開發到下一階段,又要回頭去修改上一階段的識別字囉!
以上各種定義項目都會在後續單元詳細講解,接下來我們先來討論運算式 (expression) 與陳述 (statement) 的部份。
相關教學影片
中英文術語對照 | |
---|---|
類別 | class |
運算式 | expression |
識別字 | identifier |
介面 | interface |
區域變數 | local variable |
方法 | method |
命名空間 | namespace |
屬性 | property |
陳述 | statement |
參考資料 | |
---|---|
1. Microsoft Docs - 命名方針 | |
2. Microsoft Docs - 大小寫慣例 | |
3. Microsoft Docs - 一般命名慣例 | |
4. Microsoft Docs - 命名空間的名稱 | |
5. Microsoft Docs - 類別、結構和介面的名稱 | |
6. Microsoft Docs - 類型成員名稱 | |
7. Microsoft Docs - 命名參數 |
重點整理 |
---|
1. C# 官方建議的命名方式為 Pascal 命名法與小寫駝峰型, Pascal 命名法又稱為大寫駝峰型,基本上就是只用英文單字組合的命名方式。 |
2. Pascal 命名法是每個英文單字的首字母都大寫。 |
3. 小寫駝峰型中,只有第一個英文單字的首字母小寫,其餘單字的首字母都大寫。 |
4. 使用 Pascal 命名法的識別字有命名空間、類別、介面、方法、屬性、欄位及列舉。 |
5. 類別建議採用名詞或名詞片語。 |
6. 方法建議採用動詞或動詞片語。 |
7. 屬性建議採用名詞、名詞片語或形容詞,並且採肯定語氣。 |
8. 參數建議採取小寫駝峰型,其他像是區域變數則沒有建議。 |
問題與討論 |
---|
1. 為什麼數字不能當變數的起始字元? |
2. 為什麼命名識別字要用有意義的英文單字? |
3. Pascal 命名法跟小寫駝峰型的差別在哪裡?為什麼大部分識別字要用 Pascal 命名法? |
4. 為什麼識別字不能用空格? |
練習 |
---|
1. 建立一個新專案 Exercise0401 ,用數字當變數的起始字元,例如 2m ,觀察執行結果。 |
2. 建立一個新專案 Exercise0402 ,設計一個變數 apple_num ,然後把 apple_num 中的底線改成空格,觀察執行結果。 |