一、建立一個完善的日志系統(tǒng)
一套完善的日志系統(tǒng)需要解決下面的幾個問題:
1贮缅、避免無用的日志信息亂飛宏悦;
2双妨、日志輸出定義好級別:Info全陨、Error痴晦、Debug儒陨、Warn花嘶、Verbose;
3蹦漠、Server下發(fā)指令能夠拉取指定用戶的某段時間的日志(加密)到后臺椭员;
優(yōu)秀的第三方日志組件:https://github.com/CocoaLumberjack/CocoaLumberjack
二、版本控制Commit Message 規(guī)范
新增 # 某項功能開發(fā)...
修復 # bug:****
刪除 # 某些無用的文件
...
三笛园、代碼開發(fā)規(guī)范
每個人的編碼習慣不一樣隘击,團隊作戰(zhàn)相互Review代碼的時候累,希望能夠輸出一個適合本項目的代碼開發(fā)規(guī)范研铆;
四埋同、準備(實時維護)一份編碼的守則
把開發(fā)過程中經(jīng)常遇到的一些“坑”記錄下來,實時的維護本守則棵红,遵守該守則凶赁,避免繼續(xù)踩坑;
五逆甜、統(tǒng)計埋點功能
注意點:
1虱肄、前期規(guī)劃好
2、調(diào)研哪家的SDK易用交煞,易擴展咏窿,無風險(Crash)
3、在SDK的基礎(chǔ)上再次封裝一層
六素征、架構(gòu)集嵌,設(shè)計模式
注意點:軟件架構(gòu)設(shè)計時需要注意四個要點:簡單、有效稚茅、可靠纸淮、完善;
1亚享、設(shè)計模式選型:MVC咽块、MVVM、MVCS欺税;
2侈沪、組件化開發(fā):基礎(chǔ)組件揭璃、業(yè)務組件;
3亭罪、遵守基本的設(shè)計原則:
* 單一職責原則:原則上講瘦馍,一個類只做一件事情;一個方法只做一件事情应役;
* 開閉原則:對修改關(guān)閉情组,對擴展開放;程序設(shè)計要考慮到后續(xù)的擴展箩祥,而不是在原有的基礎(chǔ)來回修改院崇;
* 接口隔離原則:例如:按照功能拆分,總協(xié)議可以拆分為各種單一職責協(xié)議袍祖;而不是維護一個龐大臃腫的協(xié)議底瓣;
* 依賴倒置原則:上層模塊不應該依賴于底層模塊,而是依賴于抽象蕉陋;抽象不應該依賴于細節(jié)捐凭,而細節(jié)依賴于抽象;針對接口編程凳鬓,不針對于實現(xiàn)編程茁肠;
* 里氏替換原則: 父類可以被子類無縫替換吱抚,且原有的功能不受影響捐康;
* 迪米特法則: 一個類應該對其他類盡可能少的“關(guān)聯(lián)”屯曹,實現(xiàn)高內(nèi)聚楚堤,低耦合蘸劈;
七睬魂、后臺配置碾阁,在線配置
目的:為了線上的APP更加靈活痰滋,例如廣告杠氢、banner站刑、icon更新等;
八鼻百、集成Crash監(jiān)控工具
Crash不可避免绞旅,需要搞一下監(jiān)控工具,如果有精力和能力温艇,可以自己開發(fā)一套因悲;
推薦: bugly.qq.com
九、代碼定期Review, 結(jié)合Git流版本控制勺爱;
十晃琳、bug管理工具
十一、項目管理工具
十二、Checklist
上線前的檢查必須要做卫旱,雖然麻煩人灼,可是穩(wěn)定;