- 儘量少寫代碼
- 不要試圖和 SDK 和工具過不去
-
- 採用 iOS 框架中,尤爲是 UIKit 中已有的設計模式
- MVC, Delegate(代理), Dependency Injection(依賴注入), Target / Action
- 以 Coordinators(協做者)的方式擴展 MVC,並用 coordinatingResponder 處理數據流
- 讓 UIViewControllers 各司其職
- 用代碼寫 UI 層違反了原則1
- 儘量用 .storyboard / .xib 構建 UI。除非確實必要,不用代碼寫 UI
- 不用 .storyboard 處理數據流,而是僅做爲優化的 .xib,僅基於 1-2 個控制器
- 除非絕對必要,不然不要替代系統框架
-
- 依託 Swift 的表達能力
- 儘量減小第三方依賴,除非有明確的需求
-
- 採用一致的代碼風格
-
- 將代碼元素置於至關的地方
- 採用一致的順序
- 儘量採用大量一致的 MARK: - 進行組織
-
- Delegates
- Init / deinit
- UI outlets
- Dependencies (if any)
- Local data source
- Embedded Controllers (if any)
- Notification tokens
- Commented-out list of coordinatorResponder methods that particular file is overriding
- Any additional stuff
當你對於應該寫「聰明的」仍是「直白的」代碼感到疑惑時?