命名原則

前言

  由於目前使用者對應用程式功能的要求越來越複雜,而應用程式的開發也慢慢地走向 團隊開發的模式,寫出來的程式碼不再只是自己一個人看而已,往往必須在各個成員之接手傳閱。而團隊成員,就算是獨立工作的個人若能養成良好的程式寫作習 慣,不只是程式碼的後續維護容易,程式碼也容易閱讀。

  良好的程式寫作習慣,除了適當的註解、縮排,最重要的可能要算是命名原則了。因為最近開發工具的功能強大,已經有自動縮排的功能,就算不想縮排也困難。

  而良好的命名原則,可以讓程式碼看起來就像是一篇【文章】一樣,名稱自己就已經在說明自己的功用了,也因此可以減少說明文件的製作。

   對於物件、變數、方法、類別‥等識別子名稱的命名,以往流行一段時間的匈牙利命名法,漸漸地已不被採用,而微軟內部開發.NET Framework已訂出一套命名指導原則,如果仔細地留意一下Visual Studio自動為我們產生的程式碼,查看各個識別子的命名方式,應該也能體會得出來。

PascalCasting或camelCasting

    識別子的命名,必須只使用英文字,而在最後許可加數字做為相同的名稱的區別。而英文字必須使用有意義的單字組合,或為人共識的英文縮寫(例:Xml、 Html、Linq..)。有時為了能清楚表明識別子所代表的含意,可能會使用兩三個英文單字組成一個識別子名稱,為了不使各個單子糾結在一起,而分不辨 不清楚單字的意思,所以各個單字(或縮寫)的第一個字母要大寫。

  而單字組成的識別子名稱的第一個字母,因應情況會有大寫和小寫兩種命名方式,第一個字母大寫稱為:PascalCasting命名,而第一個字母小寫稱為:camelCasting命名。

  而一些已經被公認的複合字(Compond Words)必須被識為一個單字,也就是可查當今比較被公認且流行的字典,看看字典是否有將兩個單字複合成一個單字看待。以下列表出一些命名例子,讀者看了應該可以體會出規則。

 

PascalCasting命名camelCasting命名不正確用法
BitFlagbitFlagBitflag
CallbackcallbackCallBack
CanceledcanceledCancelled
DoNotdoNotDont
EmailemailEMail
EndpointendpointEndPoint
FileNamefileNameFilename
GridlinegridlineGridLine
HashtablehashtableHashTable
IdidID
IndexesindexesIndices
LogOfflogOffLogOut
LogOnlogOnLogIn
MetadatametadataMetaData, metaData
MultipanelmultipanelMultiPanel
MultiviewmultiviewMultiView
OkokOK
SignInsignInSignOn
SignOutsignOutSignOff

  理解了何謂:PascalCasting與camelCasting後,接下來就是什麼場合該使用PascalCasting,什麼場合又該使用camelCasting,接下來的列表會做分類說明:

識別子命名方式範例
NamespacePascal

Namespace System.Security
......
......
End Namespace

TypePascalPublic Class StreamReader
.....
......
End Class
InterfacePascal

Public Interface IQuackBehavior
....
.....
End Interface

MethodPascalPublic Class SomeObject
  Public Function ToString() As String
End Class
PropertyPascalPublic Property SafeStock() As Integer
      Get
        ......
      End Get
      Set(ByVal value As Integer)
       .....
      End Set
End Property
EventPascalPublic Event SelectObject As EventHandler(Of SelectObjectArgs)
Fields
(Shared)
PascalPublic Shared InfiniteTimeout As TimeSpan
Enum valuePascalPublic Enum ExecutionLocations
   Client
   Server
End Enum
ParameterCamel

 Private Sub RebindUI(ByVal saveObject As Boolean)
...
...
 End Sub

結語

   本文約略地說明一下,程式碼撰寫時,一些視別子(Identifier)的命名原則,而其它尚有些許小細節未能詳盡說明,但是讀者首先能明瞭何謂 PascalCasting與camelCasting後,接著再留意一下,Visual Studio自動產生的程式碼的命名方式,漸漸地將能體會各種命名的使用時機及方式。良好的程式寫作習慣應該在開始入門學習時就該留意養成,若等到程式設 計功力到了一定程度後再想改,那可能會造成不容易克服既定的習慣。


posted on 2008/4/21 20:50 | 我要推薦 | 閱讀數 : 656 | 文章分類 [ 其他 ] 訂閱

Comments on this entry:

目前沒有回應.

回應:

標題:
姓名:
電子郵件: (將不會被顯示)
個人網頁:
 
 
Please add 5 and 3 and type the answer here: