內(nèi)容概覽
- 組織
- 版本控制
- 注釋 & 文檔
- 測試
- 分析
- 評估
- 解耦
- 依賴管理
組織
| 混亂不堪 | 井然有序 |
|---|---|
![]() |
![]() |
組織有序的工作空間可以大幅度提升你的工作效率!
Xcode Group 和 Finder Folder 一一對應(yīng):

利用 Storyboard 的 Reference 功能,合理劃分不同模塊的 Storyboard:

更新項目設(shè)置為 Xcode 推薦的配置:

使用最新的構(gòu)建系統(tǒng):

總結(jié)
- 根據(jù)功能來進行模塊劃分
- 使項目的組織結(jié)構(gòu)和文件的組織結(jié)構(gòu)相同
- 拆分龐雜的 storyboard
- 持續(xù)更新項目文件
- 拋棄無用的代碼片段 (版本控制系統(tǒng)可以很容易找回)
- 解決導(dǎo)致警告的根本問題
版本控制
推薦使用 Git 進行版本控制:

你可以很方便地對工作成果進行整合:

總結(jié)
- 使用版本控制系統(tǒng)
- 盡可能地使提交內(nèi)容精簡、獨立
- 添加有用的提交信息,便于以后查找
- 利用分支進行調(diào)試和測試工作
注釋 & 文檔
維護沒有文檔的代碼時,你總是要去熟悉已有代碼的實現(xiàn),然后在腦海中構(gòu)建起上下文。
如果上下文的跨度比較廣時,文檔是必不可少的。
使用描述性的名稱對變量、方法進行命名,使用注釋進行合理的解釋:

詳盡的文檔可以幫助使用者快速地了解代碼的用法以及注意事項:

按下快捷鍵,快速地為代碼添加文檔注釋:

按住 Option 然后點擊鼠標(biāo)左鍵,即可查看代碼的文檔:

總結(jié)
- 注釋對于以后理解代碼至關(guān)重要
- 好的注釋可以提供背景和推理
- 使用描述性的變量、常量名稱
- 使用文檔
測試
測試(常見的是單元測試)可以有效地保證代碼的質(zhì)量。
編寫測試代碼時,你需要關(guān)注測試的覆蓋率。
可靠的測試可以保證重構(gòu)時的自信!你會對這樣的測試心存感激!
總結(jié)
- 寫單元測試
- 每次提交代碼前,運行單元測試
- 為持續(xù)集成構(gòu)建基礎(chǔ)
分析
制造弱網(wǎng)絡(luò)環(huán)境,模擬真實的使用場景:

使用 Address Sanitizer (內(nèi)存錯誤問題), Thread Sanitizer(線程競態(tài)等問題), Undefined Behavior Sanitizer(0做除數(shù)等問題), Main Thread Checker(非主線程操作UI) 檢查運行時可能出現(xiàn)的諸多問題:

Debug 導(dǎo)航器頁面可以查看 CPU, 內(nèi)存, 磁盤, 網(wǎng)絡(luò)相關(guān)的信息:

使用 Instruments 進行問題剖析,比如使用 Time Profiler 檢查耗時操作:

總結(jié)
- 使用 Network Link Conditioner 模擬弱網(wǎng)絡(luò)環(huán)境
- 使用 Sanitizers 和 Checkers 監(jiān)測運行時故障
- 使用 Debug 導(dǎo)航器頁面的工具測量性能和能耗
- 使用 Instruments 探查問題成因
評估
Code Review 可以幫助你改善代碼質(zhì)量。
在進行 Code Review 時,你需要理解每一處改動,然后構(gòu)建代碼并驗證測試能否成功通過。
還需要對代碼進行校對,比如:命名規(guī)范等。
不同的團隊有不同的代碼風(fēng)格和規(guī)范,比如:color 和 colour 的小小差別,就會使搜索結(jié)果相差甚遠。
如果你是獨立開發(fā)者,建議你參與社區(qū)協(xié)作開發(fā)(開源庫)或者尋找你的伙伴!

總結(jié)
- 在你的開發(fā)實踐中加入 Code Review
- 理解每一行代碼
- 構(gòu)建并運行代碼
- 為代碼運行測試
- 校對代碼風(fēng)格、拼寫以及語法
解耦
使用 Swift Package Manager 進行代碼庫管理。
你可以在常見的代碼倉庫平臺找到開源庫,也可以在這些地方發(fā)布你自己的代碼庫:

代碼庫需要提供必要的文檔:

總結(jié)
- 判定功能分割部分,然后拆分
- 跨多個應(yīng)用程序擴展你的勞動成果
- 通過 extension 提升效率
- 和廣闊的社區(qū)共享你的勞動成果
- 文檔是必不可少的
依賴管理

- 合理地使用社區(qū)和開源項目
- 徹底地理解依賴
- 確保尊重隱私權(quán)
- 做好計劃,以防代碼庫消失或者不再維護
參考內(nèi)容:
Great Developer Habits
轉(zhuǎn)載請注明出處,謝謝~

