推 ufoufoufo:實用 04/02 23:57
好像沒有人討論過這個話題
那就來討論一下唄 :p
很多人有自己的一套命名習慣
這沒有一定的標準,只要自己、別人都容易理解就好了
但是有一套命名習慣是很多程式設計師都在用的
如果遵循這個命名習慣
自己寫code就有一套命名標準,不會前後習慣不一
看使用同個命名習慣的人分享的code,也會看得很順眼、理解迅速
命名習慣的好處,在於看到一個名字
就能夠迅速判斷這是變數、函式、常數、還是類別
以下所介紹的命名習慣為大多數AS和Java程式設計師所採用的
1.變數、屬性(variable/property):
開頭小寫,之後每下一個單字就第一個字母大寫
例如 myNumber, myBigNumber
每換一個單字就第一個字母大寫的目的在於方便閱讀
myBigNumber可以很清楚的分成"my big number"來念
若我寫mybignumber,相信大家都需要頓一下才會念吧
如果是一個internal, protected,或private的屬性,則以底線開頭
後方再接正常的變數名稱
例如 _myProtectedNumber, _myPrivateNumber
好處是自己在寫code的時候可以辨認這個屬性是否是public的
你可以對這些屬性做一些"不安全但可增進效能"的存取
只要你保證這樣的存取工能正確且不會出錯就好
(其他人也不會用到,因為它不是public的)
另外如果不小心把這種應該只有自己寫code才會動到的屬性設成public
那使用者一旦看到有底線開頭的屬性可以用
就知道你可能有地方寫錯了,好心的人還會來提醒你
2.函式、方法(function/method):
同變數與屬性
例如 myFunction, myOtherFunction, _myPrivateMethod
你可能會覺得這樣會跟變數搞混
別擔心,不要忘記函式後面還要接小括弧
所以你看到別人寫這樣的code
myThing = 1;
myOtherThing();
應該可以很明顯看出哪個是變數,哪個是函式吧
(雖然AS有Function這個類別,不過就當成特例不要討論吧)
4.類別(class):
同變數與函式,惟獨第一個字母也要大寫
從一些常見的AS內件類別命名可見一斑
Number, Boolean, DisplayObject, SoundChannel
3.常數(constant):
所有字母大寫,單字之間補底線
例如以下常見的AS內建常數
Event.COMPLETE, Math.PI, Event.ENTER_FRAME, KeyboardEvent.KEY_DOWN
4.介面(interface):
同類別,只是前面再多一個大寫的I
以下是一些AS常見的內建類別
IEventDispatcher, IBitmapDrawable
5.縮寫(abbreviation):
縮寫被視為是同一個"單字"
以HTML為例
變數名稱 - myHtml, htmlText
類別名稱 - HTMLHost, URIError
(類別使用縮寫時,通常縮寫只用在開頭,然後全大寫
修飾用的詞(非縮寫)也都會是放在縮寫後面
所以一般是不會遇到縮寫不是放在開頭的情況
如URLLoader, MP3Player, SQLConnection)
P.S. 這種每換一個單字就第一個字母大寫的樣式叫做"駱駝式(camel style)"
因為一高一低的文字看起來像是駱駝的駝峰
以上是AS與Java常用的命名習慣的簡介
希望可以幫助大家更有系統的命名,以及加速理解別人的code囉 :)
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Blog http://cjcat.blogspot.com
Gallery http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.85.107
※ 編輯: cjcat2266 來自: 61.228.85.107 (03/31 15:35)