編碼習(xí)慣Swift

  1. 主類(lèi)和文件名保持一致,接近OC的風(fēng)格
  2. 命名采用添加有意義后綴的方式,采用蘋(píng)果推薦的駝峰法
  3. 數(shù)據(jù)類(lèi)型斑唬,Model定義用struct黎泣,enum
  4. ViewWillLaysubview中調(diào)整限制
  5. 可選類(lèi)型相關(guān)操作缤谎,多用坷澡,少用

XCode自動(dòng)生成的IBOutlet保持默認(rèn)
在用频敛!之前做 !=nil 判斷

  1. 命名不要用common,public等斟赚,防止失控

  2. Framework,擴(kuò)展Struct來(lái)模擬命名空間任洞,不需要前綴命名來(lái)避免沖突

  3. deferGuard 配對(duì)使用,將申請(qǐng)資源和釋放資源寫(xiě)在一起交掏,增加可讀性和安全性

  4. Swith默認(rèn)不要default刃鳄,有必要的時(shí)候才加

  5. 靜態(tài)表格用TableViewController;其他情況铲汪,包括動(dòng)態(tài)表格,用ViewController

  6. Segue, Storyboard ID可以和目標(biāo)ViewController同名掌腰;cell ID可以和cell同名;這樣處理起來(lái)方便

  7. Any齿梁,AnyObject 盡量不要用;提倡用泛型來(lái)達(dá)到OC的動(dòng)態(tài)特性勺择,也可以定義一個(gè)共同的protocol,來(lái)聚合不同的類(lèi)型

  8. 鼓勵(lì)用enum稿辙,帶附加變量的那種

  9. 不推薦用返回函數(shù)的函數(shù),推薦將函數(shù)當(dāng)做參數(shù)的方式

  10. 不推薦函數(shù)里面套函數(shù)的方式

  11. frame的接口函數(shù)可以寫(xiě)成全局的函數(shù)邻储。僅僅是top level函數(shù),其他的還是盡量放在某個(gè)class里面吨娜,參考Alamofire這個(gè)第3方庫(kù)的處理方式

  12. = {}() 形式的初始化最好跟lazy關(guān)鍵字一起使用(可以用self),其他情況盡量都放在init函數(shù)中; 靜態(tài)變量初始化時(shí)可以酌情使用(self是否能使用是需要考慮的問(wèn)題)

  13. 如果有唯一個(gè)的含義宦赠,就用單例替代全局變量,單例是class類(lèi)型的毡琉,繼承自NSObject比較好

  14. 函數(shù)名和之間不要有空格, { 之間空一格绊起。

  15. enum和struct主要用來(lái)表示數(shù)據(jù)結(jié)構(gòu)燎斩,比如ViewModel虱歪,命令枚舉等等栅表;class主要表示行為,交互怪瓶,協(xié)作等,比如controller洗贰,logic等等

  16. 繼承級(jí)數(shù)在3級(jí)以?xún)?nèi),推薦以系統(tǒng)的為基礎(chǔ)许布,只進(jìn)行1級(jí)繼承;用擴(kuò)展extension比較好

  17. protocolextension結(jié)合起來(lái)用蜜唾,并且分開(kāi)寫(xiě)庶艾,像系統(tǒng)類(lèi)型做的那樣袁余。這樣相當(dāng)于基類(lèi)咱揍,對(duì)于enum,struct也可以有很多共同基類(lèi)。

  18. extension來(lái)提供protocol的默認(rèn)實(shí)現(xiàn)蟹地,和protocol的定義寫(xiě)在同一個(gè)文件中藤为,相對(duì)于oc中的可選成員。

  19. extension對(duì)文件進(jìn)行分模塊缅疟。存儲(chǔ)型變量不能放在extension中遍愿,這點(diǎn)要注意存淫。但是計(jì)算型的可以沼填。

  20. if let或者guard let解包的時(shí)候,可以使新變量的名字和可選型的變量名一樣坞笙,減少取名字的困惑

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市籍茧,隨后出現(xiàn)的幾起案子梯澜,更是在濱河造成了極大的恐慌寞冯,老刑警劉巖晚伙,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異漓帚,居然都是意外死亡民傻,警方通過(guò)查閱死者的電腦和手機(jī)胰默,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)漓踢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人喧半,你說(shuō)我怎么就攤上這事∪【撸” “怎么了脖隶?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵产阱,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我构蹬,道長(zhǎng),這世上最難降的妖魔是什么庄敛? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任科汗,我火速辦了婚禮,結(jié)果婚禮上头滔,老公的妹妹穿的比我還像新娘。我一直安慰自己拙毫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布峭跳。 她就那樣靜靜地躺著,像睡著了一般蛀醉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拯刁,一...
    開(kāi)封第一講書(shū)人閱讀 51,155評(píng)論 1 299
  • 那天逝段,我揣著相機(jī)與錄音,去河邊找鬼奶躯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛嘹黔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼疼邀,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼召锈!你這毒婦竟也來(lái)了旁振?” 一聲冷哼從身側(cè)響起烟勋,我...
    開(kāi)封第一講書(shū)人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后瓦戚,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡较解,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年印衔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了啡捶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奸焙。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖与帆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情玄糟,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布逢并,位于F島的核電站,受9級(jí)特大地震影響砍聊,放射性物質(zhì)發(fā)生泄漏箱沦。R本人自食惡果不足惜辩恼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望疆前。 院中可真熱鬧,春花似錦竹椒、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赊窥。三九已至狸页,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間芍耘,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工斋竞, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坝初。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像乒省,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子袖扛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容