? ? 最近公司項(xiàng)目比較急,所以這兩天沒有來的及更新公眾號(hào)文章嫌蚤,希望大家理解辐益。那我就來說說最近項(xiàng)目開發(fā)中的一些項(xiàng)目經(jīng)驗(yàn)吧。在昨天的項(xiàng)目總結(jié)會(huì)上我的一位來自前google資深程序員對(duì)項(xiàng)目開發(fā)接口聯(lián)調(diào)的理解:
如何提高接口調(diào)試的時(shí)間脱吱?
? ? ?估計(jì)你們開發(fā)的時(shí)候沒有自己本地去做單元測(cè)試智政,沒有本地自己測(cè)試數(shù)據(jù),所以在后期接口調(diào)用錯(cuò)誤的時(shí)候很難快速定位錯(cuò)誤箱蝠。
? ? ?首先我們是有接口文檔续捂,然后我們需要有模擬數(shù)據(jù)垦垂,如果發(fā)現(xiàn)接口出現(xiàn)問題,你肯定要先拿你的冊(cè)數(shù)數(shù)據(jù)去調(diào)用疾忍,在接口聯(lián)調(diào)的時(shí)候你就應(yīng)該確認(rèn)你本地的測(cè)試數(shù)據(jù)沒有問題乔外,在接口調(diào)用錯(cuò)誤的時(shí)候,你就可以拿你的本地的測(cè)試數(shù)據(jù)測(cè)試接口一罩,這樣你就可以快速的定位出錯(cuò)誤原因所在杨幼。
在接口聯(lián)調(diào)前我們?cè)撛趺醋觯?/p>
? ? ? 在接口聯(lián)調(diào)前,你前端需要有一個(gè)獨(dú)立的UI版本聂渊,這個(gè)版本首先不需要在調(diào)用接口的情況下能夠獨(dú)立運(yùn)行差购,可以點(diǎn)擊上面任何的操作,比如說上拉加載出更多數(shù)據(jù)出來汉嗽,然后點(diǎn)擊列表也能夠點(diǎn)擊進(jìn)入欲逃,像這個(gè)操作都應(yīng)該都能做,就是不依賴于接口饼暑,就是這個(gè)版本的話稳析,能夠給人家獨(dú)立的用于能夠演示,如果說我們?cè)诮o人講解一個(gè)APP的時(shí)候弓叛,也許剛好此時(shí)沒有網(wǎng)絡(luò)彰居,那我怎么去能夠演示呢?所以說的你的靜態(tài)版本一定要有撰筷,不能在接口聯(lián)調(diào)的時(shí)候再做測(cè)試陈惰,再做調(diào)整,這樣會(huì)把周期拉的很長(zhǎng)毕籽,因?yàn)橐粋€(gè)人改東西是很快的抬闯,用你的測(cè)試數(shù)據(jù),用你自己的測(cè)試界面关筒,你去調(diào)溶握、發(fā)現(xiàn)這有問題那有問題你自己去改,這個(gè)就是非称轿快速的時(shí)候了奈虾,分分鐘就能改好的事情,是吧廉赔。
? ? 你說你調(diào)用接口出錯(cuò)了,你才開始猜測(cè)匾鸥,他這個(gè)接口到底是咋回事呢?是我調(diào)的參數(shù)有問題嗎蜡塌?還是后面接口返回的數(shù)據(jù)有問題呢?就你去搞不定勿负、不確定馏艾,所以在這種情況下你說你調(diào)一個(gè)接口的周期有多長(zhǎng)呢?就是很長(zhǎng)時(shí)間劳曹。其實(shí)這樣的話,你大量的時(shí)間都消耗在這個(gè)上面了琅摩,本來很快的铁孵。啪啪啪,如果你本地?cái)?shù)據(jù)寫完房资,很快接口一調(diào)就可以了蜕劝。拿你本地的模擬數(shù)據(jù)一調(diào)然后拿接口返回的數(shù)據(jù)去對(duì)比一下一看就知道接口正確與否了。然后大的沒問題了轰异,然后后面再慢慢調(diào)整小的問題岖沛,比如數(shù)據(jù)返回的完整性啊。比如說少返回一個(gè)兩個(gè)字段的問題搭独。這個(gè)就可以慢慢的后期增加了婴削。
? ? 而你不能在聯(lián)調(diào)的時(shí)候才去做代碼測(cè)試。要保證你的代碼在聯(lián)調(diào)的時(shí)候是正確的牙肝,所以都是按照這個(gè)流程去開發(fā)唉俗。一定要有這個(gè)流程。
總結(jié)項(xiàng)目開發(fā)流程如下:
? ? ?首先我們需要有自己完整接口文檔配椭,有了接口文檔以后虫溜,首先第一步你先做模擬數(shù)據(jù)的文檔,你的json文件就是根據(jù)接口文檔然后把你的模擬數(shù)據(jù)一個(gè)一個(gè)的寫好颂郎,寫好以后你才開始你的開發(fā)你的代碼吼渡,做UI然后做業(yè)務(wù)邏輯,然后做的時(shí)候就可以用這些測(cè)試數(shù)據(jù)乓序,不然的話你做UI的時(shí)候你想看一下效果都沒有數(shù)據(jù)寺酪,你說你UI怎么看效果呢,你沒法看啊替劈。其實(shí)后臺(tái)開發(fā)接口也都是這個(gè)樣子的寄雀,其實(shí)后臺(tái)接口的開發(fā)模擬數(shù)據(jù)其實(shí)是非常龐大的,每一條測(cè)試數(shù)據(jù)不是都是有規(guī)則的生成出來的陨献,而是無規(guī)則的生成出來的盒犹,因?yàn)橐紤]到實(shí)際數(shù)據(jù)的應(yīng)用場(chǎng)景。實(shí)際場(chǎng)景數(shù)據(jù)的復(fù)雜度眨业,所以生成的數(shù)據(jù)應(yīng)用的比較全急膀。
一份好的單元冊(cè)數(shù)代碼,不僅僅能夠提高開發(fā)效率龄捡,而且能夠提高程序后期的可維護(hù)性卓嫂。
下一章我們將深入講解什么叫做單元測(cè)試。
關(guān)注公眾號(hào)號(hào):前端人
原文地址:http://mp.weixin.qq.com/s/0zTkMz4iMcgBd3eLMlzRmw