幾個(gè)避免出bug的好習(xí)慣和方法

1、拿到需求不要著急動(dòng)手,先理清楚整體架構(gòu),拆分完成整個(gè)邏輯需要的步驟,羅列出來(lái),按照羅列出來(lái)的邏輯去寫代碼。
好處:邏輯清晰,回看便于理解

2、一個(gè)需求之中的獨(dú)立模塊要拆分出來(lái),盡量不要有重復(fù)的代碼,封裝封裝再封裝。
后端舉例說(shuō)明:例如一個(gè)插入金額的功能肯定有很多地方會(huì)到,就封裝起來(lái)一個(gè)基礎(chǔ)的插入金額方法,后續(xù)有插入金額就調(diào)用這一個(gè)方法,如果金額對(duì)應(yīng)的表需要修改的時(shí)候,也只需要修改這一個(gè)方法。
前端舉例說(shuō)明:控件的復(fù)用和封裝,同樣的頁(yè)面只需用一份代碼
示例圖:

屏幕快照 2018-07-08 下午3.22.08.png

好處:好對(duì)小需求進(jìn)行單獨(dú)方法針對(duì)修改,不影響其他大模塊

3、js代碼閉包使用時(shí),傳入和穿出的參數(shù),盡量使用對(duì)象,便于擴(kuò)展。
例如:方法X判斷是否有x1 目前只在A方法用到,傳出時(shí)只傳 cb(null,true)
后來(lái)有需求,方法X還要判斷是否有x2, 在B方法用到,而A方法沒(méi)有,這時(shí)候需傳出兩個(gè)參數(shù),就有可能對(duì)A方法造成影響,要修改A方法,很有可能遺漏或忘記。
如果原先傳出的是cb(null,{x1:true}),這時(shí)候修改后cb(null,{x1:true,x2:true}),不影響到A方法的時(shí)候。
好處:不會(huì)對(duì)原方法造成影響,便于擴(kuò)展

4、測(cè)試。 拆分后的代碼,可以以每個(gè)拆分的小模塊為測(cè)試單元測(cè)試,完成后再進(jìn)行整個(gè)模塊的枚舉測(cè)試,看似繁瑣,但會(huì)大大降低出問(wèn)題的概率。
好處:減少bug

5、git上傳代碼。 記得先拉再提交!先pull再push,先pull再push??!
更新后的東西、外網(wǎng)用到的時(shí)候記得一定要上傳git,不然別人不知情的情況下很容易替換了舊代碼,造成影響
好處:節(jié)省很多處理沖突的時(shí)間,保證代碼的最新和完整性

5、上線新代碼時(shí)的注意項(xiàng)。 在上線代碼之前,注意保留文字步驟,例如本次更新設(shè)計(jì)的代碼文件、config文件、圖片文件、數(shù)據(jù)庫(kù)語(yǔ)句都羅列出來(lái),更新的順序也提前寫好,完成之后按該步驟嚴(yán)格執(zhí)行。這樣更新的時(shí)候不會(huì)因?yàn)槭置δ_亂造成錯(cuò)誤。
示例:


屏幕快照 2018-07-08 下午3.38.51.png

好處:保證穩(wěn)定上線過(guò)渡,不至于出錯(cuò)。

6、事情處理方法。 處理事情的時(shí)候盡量使用單線程,處理的事情,就盡量完成好,再去處理下一件。 如果實(shí)在有突然事情插入,就考慮能否快速完成當(dāng)前事情,如果可以就完成后再去處理突發(fā)事件,不行的話也要記錄下當(dāng)前事情還差的步驟,再去處理突發(fā)事件,否則很容易遺漏。
例如:在測(cè)試修改了代碼,突然有人喊你去做別的事,忘記了這部分代碼改了,打包造成了錯(cuò)誤。 或者事情只是草草完成,就去處理別的事,回頭不測(cè)試直接使用。 跟玩數(shù)獨(dú)游戲是一個(gè)道理,每一個(gè)推論都是建立在前面100%正確的前提下,如果前面出錯(cuò),只能從來(lái)。
好處:一件一件事做完整,才能保證穩(wěn)定。

7、提早做準(zhǔn)備。 可以每天抽出一塊時(shí)間安排出今天要做的事項(xiàng),這樣每天至少都在計(jì)劃當(dāng)中,雖然總會(huì)被突發(fā)事件打亂,但大多數(shù)情況下仍是可控的。

以上方法待更新...
很多時(shí)候不是我沒(méi)有技能能力,而是方法不對(duì)、態(tài)度不端正。 但技能、方法、態(tài)度綜合起來(lái)的才是我的專業(yè)能力。知行合一,只有真正做到了,才是真正知道了;知道了并不等于做得到。專業(yè)能力+溝通+同等價(jià)值觀才是一個(gè)合格的人才。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過(guò)CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽(yáng)明AI閱讀 16,215評(píng)論 3 119
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,234評(píng)論 25 708
  • 剛剛知道簡(jiǎn)書,為時(shí)較晚。卻喜歡它的名字,還會(huì)有錯(cuò)聽(tīng)的感覺(jué),簡(jiǎn)書,簡(jiǎn)愛(ài)?總之,想來(lái)看看 還好,沒(méi)有太絢爛,不會(huì)炫目。...
    豬東坡閱讀 116評(píng)論 0 0
  • 當(dāng)一個(gè)女人在考慮成為一個(gè)母親的時(shí)候,都不免會(huì)想到有孩子之后的種種幸福,可是當(dāng)一個(gè)女人在成為母親之后,才會(huì)明白那些書...
    如水年華閱讀 1,810評(píng)論 9 50
  • 我是籃球超級(jí)愛(ài)好者! 老公的育兒觀念是多變的社會(huì)培養(yǎng)一個(gè)孩子學(xué)怎么都不一定能用上!培養(yǎng)一種獨(dú)立思考的能力,能適應(yīng)多...
    何蓉閱讀 946評(píng)論 0 3

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