說好的coding conventions

一人開發團隊是不用訂什麼coding style的,但是當程式越寫越大,越大越複雜的時候,一致性的語法就很重要了。

最近這幾個月都在做project的merge,原本維護的案子是一個與世隔絕的專案,現在要用其他專案當作base,使用同一批檔案來搭建出一樣的app。簡單來說就是大量的refactor,能用繼承的地方就用繼承,如果某些功能A專案裡要有B專案理沒有,那就用override的方式。兩邊一樣名字的function作不一樣的事。參考了base project的coding conventions來改寫,三個月過去了,只完成了UI部分,data model還有很多地方沒有完成。

這幾個月的經驗,我才搞懂很多之前自以為是的觀念,像是繼承、self、delegate、block、catagory、run time debug,這些零零碎碎的東西。也再一次體驗到好的design pattern讓你上天堂,不好的struct讓你想殺人。關於怎麼把程式寫得像是語言這點很多書裡都有講,我這裡想表達的是coding conventions。

列幾篇關於coding conventions&coding style的文章:

Coding Guidelines for Cocoa
官方的不看可以摔鍵盤了

Google Objective-C Style Guide
google也來參一腳,跟apple的很像

NYTimes Objective-C 編程風格指南
NYTime團隊自己的定義,很多細節

几点 iOS 开发技巧
這不是coding commention,而是refactor module架構時要注意的事,看完這篇有種「對、我就是這樣做的」感動!

2 則留言:

S.T.Huang 提到...

最近也有在琢磨這塊~主要focus在 Cocoa Design Patten(中文版) 那本和精通Objective-C(第五版)並學NYTimes的objective-c Coding Style摟~ 不過你所謂的Coding Commention 和Coding Style 有和區別咧??

就是福氣啦 提到...

我寫錯了,是coding convention才對,原文已經改過來。
coding style是指括號、縮排、命名時的一致性。coding convention則更嚴謹,同一家公司內的所有物件都有規定的命名格式,甚至有說進入function時要先做甚麼、離開時要在做甚麼,在很多人寫同一個proj時(理論上)都會定個coding convention。

這也是我之前面試時篩選公司的指標之一