前言
屬于前期文檔哩陕,略簡(jiǎn)陋萌踱,后續(xù)有改動(dòng)完善補(bǔ)充。
需求管理
使用禪道做產(chǎn)品項(xiàng)目管理工具鸳粉。以版本來(lái)規(guī)劃開(kāi)發(fā)周期园担。
產(chǎn)品需求收集
產(chǎn)品需求確認(rèn)(需求邏輯,技術(shù)艰山,ui實(shí)現(xiàn)度評(píng)審)
產(chǎn)品需求UE/UI完善(Ui評(píng)審,技術(shù)實(shí)現(xiàn)度)
后端接口開(kāi)發(fā)任務(wù)咏闪,形成接口文檔備注到任務(wù),關(guān)閉任務(wù)纵装。
Android編碼開(kāi)發(fā)据某,特殊情況備注到任務(wù),關(guān)閉任務(wù)挽唉。
測(cè)試運(yùn)行完畢筷狼,關(guān)閉需求。
版本規(guī)范
目的:規(guī)范版本命名塑顺,方便版本更新與管理楞遏。
版本命名:VersiionName首昔, 命名由四部分組成,主版本號(hào)+次版本號(hào)+修訂版本號(hào)+日期版本后预鬓,可再加_如:beta,dev,debug,release 標(biāo)識(shí)特殊意義的版本。如:2.3.0.170525.dev劈彪。前邊可加前綴對(duì)項(xiàng)目工程進(jìn)行描述顶猜。如ETC_Android_2.3.0.0.debug。對(duì)外發(fā)布只使用前3個(gè)版本號(hào)如2.3.0滔吠。
版本編號(hào):VersionCode 挠日,遞增正數(shù),如136嚣潜。方便做版本更新判斷。
版本控制系統(tǒng)
目的:清晰管理與協(xié)同代碼只冻。
工具:使用分布式版本控制系統(tǒng)git犯犁,圖形操作Windows下使SourceTree,服務(wù)器使用gitblit住诸。
分支管理:master,主分支涣澡,測(cè)試過(guò)穩(wěn)定用于上線發(fā)布的代碼,禁止推送。
dev奄薇,開(kāi)發(fā)分支抗愁,日常開(kāi)發(fā)用。每次發(fā)測(cè)試版本打上版本標(biāo)簽沫屡。穩(wěn)定后合并到master.
bugfix_版本號(hào),bugfix分支撮珠。測(cè)試提出bug后,dev標(biāo)簽處chekout對(duì)應(yīng)bugfix版本勺届,修復(fù)后合并到dev。
提交說(shuō)明:提交的粒度盡可能小饼酿,提交描述要清楚胚膊。提交前自行簡(jiǎn)單review一次代碼。
git的使用學(xué)習(xí)有一定成本购披,請(qǐng)自行學(xué)習(xí)肩榕。
編碼規(guī)范
目的:使得編碼清晰易閱讀維護(hù)。
力求簡(jiǎn)單易讀筐乳,見(jiàn)名知義乔妈。避免出現(xiàn)a1,a2。勃刨。股淡。an等無(wú)意義的命名。具體自行搜索各語(yǔ)言的命名規(guī)范唯灵。每一個(gè)類的作用,作者寫(xiě)好垢揩。邏輯上有稍復(fù)雜的代碼要寫(xiě)好注釋敛瓷。方法的嵌套不超過(guò)5層,不超過(guò)35行代碼俘种,類的方法不建議過(guò)多绝淡。讀代碼與讀書(shū),篇幅過(guò)長(zhǎng)不利閱讀悬包,邏輯清晰度也受影響馍乙。
項(xiàng)目安全
https傳輸。
關(guān)鍵信息傳輸加密與本地加密撑瞧。
統(tǒng)一用戶鑒權(quán)session與cookie显蝌。
token。
前后端數(shù)據(jù)交互方案
json格式
后端維護(hù)接口文檔纵东,前端調(diào)用即可有梆。一些細(xì)節(jié)在具體業(yè)務(wù)在體現(xiàn)。
參考:http://www.reibang.com/p/35a7b6f5f92e
url=https://web2.lunkr.cn/lunkr/s/json?func=cim.oabEx:getUserInfo&sid=FAFtMvSSuqnrZKkfTHSSenwnvtSEYoJv,
body={
"list":"#504#U",
"returnAttrs":["mobile_number","company_phone","home_phone","email","true_name","gender","@location","uid","flagged","@ou"]
}
result={
"code":"S_OK",
"var":[{
"uid":"#504#U",
"true_name":"論客機(jī)器人",
"email":"ceshi@coremail.cn",
"org_id":"mailtech-mailtech",
"customer_id":"",
"@ou":"mailtech-mailtech/mailtech_x-cs",
"user_type":"U",
"fn":"",
"external_limit":false,
"user_status":0,
"my_trust_level":"supreme",
"other_trust_level":"supreme",
"flagged":true,
"my_contact":true
"primary_email":"ceshi@coremail.cn",
}]}
后端架構(gòu)
采用LAMP肴裙。參考http://www.reibang.com/p/b80aa249d38b
Android規(guī)范
架構(gòu):
數(shù)據(jù)庫(kù)践宴,ContentProvoider + SQLite 封裝爷怀。
網(wǎng)絡(luò)層,okhttp3.2 + Rxjava2 + RxAndroid2烤惊。
MVC模式吁朦,簡(jiǎn)單易懂。
類全局變量m開(kāi)頭雄右。簡(jiǎn)單圖片使用svg。其他格式圖片放mipmap對(duì)應(yīng)尺寸文件夾擂仍。文字與顏色值放置配置文件再到代碼中使用
無(wú)意義不懂原理的代碼不能放到項(xiàng)目中。
bug與數(shù)據(jù)埋點(diǎn)上報(bào)肋坚,bug監(jiān)控
目的:便于系統(tǒng)維護(hù)肃廓,bug查找,用戶行為數(shù)據(jù)分析盲赊。
開(kāi)發(fā)對(duì)應(yīng)的bug上報(bào)分析接口,客戶端將必要的bug與埋點(diǎn)在一定的時(shí)間上傳到服務(wù)器吝沫。
需要考慮數(shù)據(jù)量問(wèn)題递礼。
Android使用友盟監(jiān)控線上bug。
測(cè)試管理
自動(dòng)化測(cè)試環(huán)境搭建辫愉,做到每日構(gòu)建。由于缺少測(cè)試人員恭朗,各端有時(shí)間自己搭建依疼。