三步提高手機(jī)App的運(yùn)行質(zhì)量
??????? 對(duì)于軟件從業(yè)者來(lái)講,軟件質(zhì)量是一個(gè)繞不開(kāi)的話題巧娱,當(dāng)用戶(hù)在使用軟件中遇到了問(wèn)題會(huì)非常郁悶赌躺,心里暗罵這又是哪個(gè)程序員干的。 所有重視客戶(hù)的公司都會(huì)重視代碼質(zhì)量徐勃,我們通常會(huì)使用bug率來(lái)評(píng)價(jià)代碼的質(zhì)量事示,而bug率只是一個(gè)質(zhì)量的結(jié)果而不是原因,況且Bug率只是反應(yīng)在測(cè)試范圍的正確性僻肖,還不能完全的反應(yīng)代碼的質(zhì)量肖爵。那如何提高代碼質(zhì)量呢?本文以手機(jī)App為例討論幾個(gè)關(guān)鍵步驟:
? ?? 1. 提高代碼設(shè)計(jì)能力:? 通常Bug率是黑盒測(cè)試的代碼相較于預(yù)期的錯(cuò)誤率臀脏,有可能代碼的Bug率不高劝堪,但是代碼設(shè)計(jì)糟糕,邏輯混亂揉稚,通過(guò)像打補(bǔ)丁一樣的方式使代碼達(dá)到預(yù)期的結(jié)果幅聘,這就是我們通常所說(shuō)的老代碼,這種代碼的質(zhì)量實(shí)際是很糟糕的窃植,好的代碼除了不出錯(cuò)以外至少還要包括: 可讀性: 代碼首先是給人讀其次才是給機(jī)器讀帝蒿,如果沒(méi)有良好的可讀性代碼將無(wú)法理解和修改以及擴(kuò)展; 可擴(kuò)展型: 大量的代碼都是打補(bǔ)丁的方式寫(xiě)上去的增加新的邏輯再加一段代碼完全沒(méi)有設(shè)計(jì)更談不上擴(kuò)展;簡(jiǎn)潔性: 很多代碼繞了很大的彎結(jié)果只是完成一個(gè)簡(jiǎn)單的邏輯巷怜,增加了理解和設(shè)計(jì)的復(fù)雜度葛超;可復(fù)用性: 大量的重復(fù)代碼包括直接代碼重復(fù)以及邏輯的代碼重復(fù)造成修改的遺漏;可測(cè)試性:一個(gè)測(cè)試性不好的代碼幾乎可以說(shuō)設(shè)計(jì)有問(wèn)題延塑。
? ??? 2. 減少Case的遺漏: 德國(guó)人說(shuō)生活是具體的绣张,你無(wú)論做一個(gè)什么事情,他們總會(huì)把各個(gè)細(xì)節(jié)問(wèn)清楚关带,這是德國(guó)質(zhì)量的保障侥涵。相反國(guó)人總覺(jué)得差不多就可以了沼撕,我們常說(shuō)我基本上理解了,差不多就這樣考慮芜飘,語(yǔ)言和文字用來(lái)交流有一定的模糊性务豺,每個(gè)人的理解可能是不一樣的,而對(duì)于做項(xiàng)目來(lái)講是確定的而不是模糊的嗦明,具體要求是什么? 有沒(méi)有指標(biāo)? 當(dāng)什么的時(shí)候怎么做? 出現(xiàn)什么錯(cuò)誤怎么處理?一定要問(wèn)清楚仔細(xì)笼沥,軟件項(xiàng)目是工程,我們是用技術(shù)去實(shí)現(xiàn)工程娶牌,而工程最重要的時(shí)向德國(guó)人一樣的嚴(yán)謹(jǐn)奔浅。而很多程序員把自己當(dāng)成是做技術(shù),科研诗良,甚至是藝術(shù)那是不行的汹桦。變得嚴(yán)謹(jǐn)一個(gè)很好的辦法是使用Xmind畫(huà)出所有細(xì)節(jié)。
? ? ? 3.用戶(hù)運(yùn)行監(jiān)控系統(tǒng): 有了前面兩條上線前的保障鉴裹,我們還要知道用戶(hù)實(shí)際運(yùn)行的情況如何舞骆,測(cè)試環(huán)境和用戶(hù)實(shí)際環(huán)境可能有很大區(qū)別,不同的設(shè)備壹罚,不同的數(shù)據(jù)葛作,不同的操作方式都可能會(huì)出現(xiàn)預(yù)想不到的問(wèn)題寿羞,而手機(jī)App一個(gè)困難之處是運(yùn)行在用戶(hù)手機(jī)上猖凛,當(dāng)用戶(hù)遇到問(wèn)題的時(shí)候我們并不知道發(fā)生了什么,所以我們需要在代碼中增加探針绪穆,這些探針的觸發(fā)條件可能是界面卡頓辨泳,內(nèi)存占用太高,加載太慢或一些業(yè)務(wù)錯(cuò)誤玖院,當(dāng)探針觸發(fā)的時(shí)候我們需要收集用戶(hù)錯(cuò)誤的數(shù)據(jù)菠红。在下表中我搜集了一些可以使用的工具,但有些還是需要我們自己開(kāi)發(fā)难菌。