《iOS App 開發的那些事兒》系列文章從更宏觀的角度出發,不單單侷限於具體某個功能、界面的實現,而是結合網易雲信 iOS 端研發負責人多年的經驗,從如何優化現有代碼的角度出發,深度分析如何創造出 iOS App 開發中比較合適的規範和框架。ios
你們都理解軟件開發須要合適的規範:代碼規範,程序規範,流程規範等等,以此來減小意外的出現:最少驚訝原則。但在實際執行中卻會碰到各類狀況,其中最大的問題是:怎麼鑑別哪些規範是須要強制執行,哪些規範是推薦執行。
規範的強制執行帶來的是代碼的可讀性提高和二義性減小,而壞處也是顯而易見的:對於大部分有想法的程序員而言這種規定太死板,容易引發抵觸心理,產生不安定因素。這種狀況常見於各類標準的外包公司。
而若是大部分的規範設定爲推薦執行,在沒有良好的引導下,規範容易被忽視。 網上有不少關於ObjC的代碼規範,好比蘋果自家的規範和《Google Objective-C Style Guide》等。這些規範通常只有兩種分級:推薦和不推薦。而我更推薦把代碼規範分紅五個等級:強制要求,強烈推薦(但不強制),良好,可接受和不可接受。
如下僅舉部分例子加以說明。git
Core:工程內一些通用的機制實現類:統一的任務管理,模塊管理,服務管理。
General:公用類和方法,包括工程內ViewController,UITableViewCell基類(Base),公用Category(Category):公用UI組件(CustomUI),公用輔助方法(Helper)和宏定義(Marco)。
Model:公用數據模型
Sections:不一樣程序單元。如登陸,設置等等。其下又能夠按照功能分紅不一樣的子目錄:當前單元使用的自定義UI組件,管理類,數據模型和ViewController等等。
Vendors:第三方庫。程序員
《iOS App開發的那些事兒》第二篇文章將會向你們介紹什麼是合適的框架,如何搭建合適的框架,歡迎你們積極發表本身的見解,與咱們共同討論。github
隨着即時通信以及音頻處理和壓縮技術的不斷髮展,效果更好、適用範圍更廣、性能更高的算法和新的技術必將不斷涌現,若是你有好的技術或者分享,歡迎關注網易雲信官方博客和 GitHub:算法
關注更多技術乾貨內容: 網易雲信博客
歡迎關注 網易雲信 GitHub
歡迎關注 網易雲信官網