做一款A(yù)PP需要考慮的事情

一、建立一個完善的日志系統(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ā)...
修復(fù) # bug:****
刪除 # 某些無用的文件
...

三、代碼開發(fā)規(guī)范

每個人的編碼習(xí)慣不一樣,團隊作戰(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è)務(wù)組件;
3、遵守基本的設(shè)計原則:
    * 單一職責原則:原則上講,一個類只做一件事情;一個方法只做一件事情;
    * 開閉原則:對修改關(guān)閉,對擴展開放;程序設(shè)計要考慮到后續(xù)的擴展,而不是在原有的基礎(chǔ)來回修改;
    * 接口隔離原則:例如:按照功能拆分,總協(xié)議可以拆分為各種單一職責協(xié)議;而不是維護一個龐大臃腫的協(xié)議;
    * 依賴倒置原則:上層模塊不應(yīng)該依賴于底層模塊,而是依賴于抽象;抽象不應(yīng)該依賴于細節(jié),而細節(jié)依賴于抽象;針對接口編程,不針對于實現(xiàn)編程;
    * 里氏替換原則: 父類可以被子類無縫替換,且原有的功能不受影響;
    * 迪米特法則: 一個類應(yīng)該對其他類盡可能少的“關(guān)聯(lián)”,實現(xiàn)高內(nèi)聚,低耦合;

七、后臺配置,在線配置

目的:為了線上的APP更加靈活,例如廣告、banner、icon更新等;

八、集成Crash監(jiān)控工具

Crash不可避免,需要搞一下監(jiān)控工具,如果有精力和能力,可以自己開發(fā)一套;


image.png

推薦: bugly.qq.com

九、代碼定期Review, 結(jié)合Git流版本控制;

十、bug管理工具

十一、項目管理工具

十二、Checklist

上線前的檢查必須要做,雖然麻煩,可是穩(wě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ù)。

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