Swift iOS App 程式的命名習慣
Published in
3 min readJul 8, 2017
開發 Swift iOS App 時,如何為變數,型別,function 命名,一直是件令人頭大的事。
由於現在 Xcode 擁有強大的自動完成功能,所以我們大可放心地使用完整的單字命名,甚至組合多個單字,讓人一眼就能猜出名稱的意思,不用擔心名字太長。
當名稱由多個單字組成時,習慣上以所謂的 Camel case 方法命名,也就是每個單字的開頭大寫,第一個單字例外,比方 resultAnswerLabel。此方法的好處在於我們容易看出名稱是由哪幾個單字組成,方便明白名稱的意思。第一個單字小寫的原因 ,則是因為習慣上只有型別名稱的開頭才大寫。( camel 的意思是駱駝,當單字的字首大寫,多個單字組合起來時,每個單字看起來就像駱駝的駝峰,十分可愛 )
然而,因個人的習慣,英文程度和想像力,每個人想的名字往往不盡相同,除非對方是你百年難得一見的知己,你們倆常常心有靈犀。不過如果你想參考的話,倒是可以學習 Apple 官方電子書 App Development with Swift 裡範例的命名方式。畢竟 Swift 是 Apple 發明的,Apple 大大說的一定是對的 !
依此書的範例,我們大致可以整理出以下規則:
- 當類別繼承 UIViewController 時,類別名以 ViewController 結尾,比方 QuestionViewController。
- 當類別繼承 UITableViewController 時,類別名以 TableViewController 結尾,比方 BookTableViewController,BookFormTableViewController。
- 畫面上的 UI 元件,其變數名稱結尾和型別有關,比方 UILabel 型別的 questionLabel,UISlider 型別的 rangedSlider。
- 畫面上的 UI 元件,如果是 outlet collection,結尾加 s,比方 letterButtons。
- 設定畫面元件內容的程式習慣另外定義為 fucntion,並以 update 開頭。比方 controller 型別的 function updateUI( ),updateView( ),cell 型別的 function update(with book: Book)。
- Array 型別的變數名加 s,比方 questions。
- UI 元件事件觸發的 function 名和事件有關,比方點擊按鈕觸發的 function singleAnswerButtonPressed(_ sender: UIButton)。