(WWDC) 良好的開發(fā)者習(xí)慣


內(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)載請注明出處,謝謝~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • “請以靈魂為向?qū)??!?(一) 每天,會習(xí)慣性地打開網(wǎng)易云音樂,右滑屏幕,點擊簽到。 點開前總會期待今天會有什么樂簽...
    帕特里夏小姐閱讀 949評論 0 3
  • 突然想要做一件事情,很激動。便著手去做了,一天下來很辛苦,但是也很值得。感覺自己開辟了另外一個有價值的東西,很自豪...
    三度深藍閱讀 271評論 0 0
  • 大雪 天氣日好,雖已是仲冬時候,但氣溫尚相宜,并沒變得特別寒冷。轉(zhuǎn)眼已至年關(guān),三百多天的時間又已經(jīng)成為過往。樹木綠...
    人間雪白乘雪歸閱讀 299評論 0 4
  • 小時候,特別喜歡看西游記,而其中最愛的人物,便是敢作敢當(dāng),愛恨憎明的孫悟空。在我看來,悟空的一生便是青春的兵荒馬亂...
    萬萬萬的回憶錄閱讀 408評論 0 1
  • 楚雁江行瑞雲(yún)長,鳳尾乳菊香;佳歲於重陽,茱萸遍疆,恩福佑高堂。 深宵宿野寞風(fēng)涼,滄紋飛塵窗。塵鬂易化霜,情滿易老,...
    弘湉閱讀 251評論 0 0

友情鏈接更多精彩內(nèi)容