如何快速熟悉新系統(tǒng)
很多工程師都會(huì)遇到這樣一種情況:被指派到另外一個(gè)項(xiàng)目參與開(kāi)發(fā)工作豪娜,這個(gè)項(xiàng)目已經(jīng)開(kāi)發(fā)了一段時(shí)間了伸辟,代碼還比較多簿姨,作為一個(gè)項(xiàng)目的新人痢甘,要如何盡快地熟悉項(xiàng)目融入團(tuán)隊(duì)呢喇嘱?
對(duì)系統(tǒng)進(jìn)行測(cè)試
作為一名新系統(tǒng)的小白,首先當(dāng)然是要熟悉系統(tǒng)的功能塞栅,還有操作流程者铜。
如果有相關(guān)的系統(tǒng)說(shuō)明文檔(幫助手冊(cè))的話先閱讀這些資料,了解系統(tǒng)是如何工作的放椰,有哪些功能點(diǎn)作烟。
了解了系統(tǒng)如何操作以后,對(duì)系統(tǒng)的各個(gè)功能點(diǎn)進(jìn)行功能測(cè)試砾医,通過(guò)手動(dòng)操作來(lái)加深對(duì)系統(tǒng)的了解拿撩,并幫助系統(tǒng)找到bug。
發(fā)現(xiàn)bug后將bug記錄起來(lái)藻烤,比如github(gitlab)上項(xiàng)目里的issue區(qū)域绷雏,并提醒其他開(kāi)發(fā)人員關(guān)注這些問(wèn)題。
嘗試修復(fù)bug
操作了一段時(shí)間系統(tǒng)后怖亭,可能你對(duì)系統(tǒng)功能已經(jīng)有了一個(gè)大概的了解涎显,但實(shí)際的代碼可能還了解不多,這個(gè)時(shí)候你可以通過(guò)修復(fù)一些小bug來(lái)達(dá)到了解系統(tǒng)的目的兴猩。
首先找到bug對(duì)應(yīng)的頁(yè)面或者文件期吓,設(shè)置斷點(diǎn),運(yùn)行程序,查看是什么原因?qū)е掳l(fā)生bug讨勤。
搞清楚bug發(fā)生的原因后箭跳,動(dòng)手修復(fù)這個(gè)bug。
修復(fù)bug后潭千,如果有測(cè)試案例要保證不破壞其他測(cè)試案例谱姓,如果有測(cè)試案例失敗了,這可能表示你修復(fù)的代碼破壞了其他正常的功能刨晴。
對(duì)其他相關(guān)模塊進(jìn)行測(cè)試屉来,保證沒(méi)有其他副作用。
如果可以的話狈癞,讓其他資深的開(kāi)發(fā)人員給你review一下代碼茄靠,看看你有沒(méi)有改出問(wèn)題,或者是有沒(méi)有其他更好的解決方案蝶桶。
為系統(tǒng)添加測(cè)試案例
除了修復(fù)bug慨绳,還可以為系統(tǒng)添加測(cè)試案例。這里的測(cè)試案例是指單元測(cè)試真竖、集成測(cè)試或者一些自動(dòng)化測(cè)試脐雪。
如果是寫(xiě)單元測(cè)試的話,要先讀懂對(duì)應(yīng)的功能代碼疼邀,知道功能代碼的邏輯是怎樣的喂江,有多少個(gè)分支需要寫(xiě)多少個(gè)測(cè)試案例才能覆蓋完整。然后編寫(xiě)測(cè)試案例旁振,并保證測(cè)試案例運(yùn)行通過(guò)。
如果是集成測(cè)試或者自動(dòng)化測(cè)試涨岁,先了解要測(cè)試的功能的流程是怎樣的拐袜,是要讀取數(shù)據(jù)庫(kù)數(shù)據(jù)做校驗(yàn),還是可以直接在頁(yè)面上面校驗(yàn)等梢薪。然后編寫(xiě)測(cè)試案例蹬铺,因?yàn)樽詣?dòng)化測(cè)試可能由于網(wǎng)絡(luò)延遲等原因會(huì)讓你的測(cè)試有時(shí)成功有時(shí)失敗,請(qǐng)記住要避免這種情況秉撇,確保測(cè)試是百分之百運(yùn)行成功的甜攀。
對(duì)代碼進(jìn)行重構(gòu)
有時(shí)候系統(tǒng)開(kāi)發(fā)久了,就會(huì)不知不覺(jué)產(chǎn)生一些爛代碼琐馆,如果沒(méi)有及時(shí)修復(fù)规阀,整個(gè)系統(tǒng)可能就會(huì)慢慢腐爛,然后崩潰瘦麸,最后維護(hù)都維護(hù)不了只能重做谁撼。所以如果你有一些代碼重構(gòu)的經(jīng)驗(yàn)的話,可以在熟悉系統(tǒng)的過(guò)程中滋饲,通過(guò)代碼重構(gòu)的方式了解系統(tǒng)的代碼厉碟。
要重構(gòu)代碼喊巍,就要先熟悉你要改動(dòng)的那一塊代碼,讀懂它們并確保你做的重構(gòu)不會(huì)影響到其他功能箍鼓。
如果要重構(gòu)的代碼之前有單元測(cè)試那是最好的崭参,你可以邊重構(gòu)邊運(yùn)行測(cè)試,只要不破壞測(cè)試就可以了款咖,但如果沒(méi)有單元測(cè)試的話何暮,你最好是先加上單元測(cè)試,以保證你的重構(gòu)不會(huì)破壞原來(lái)的功能之剧。
這里的重構(gòu)不是指哪種傷筋動(dòng)骨的大改動(dòng)郭卫,而是一些代碼上的小修改,以讓你的代碼更具可讀性和可維護(hù)性背稼,比如變量名或方法名的重命名贰军,相同代碼的提取,長(zhǎng)方法的分解等蟹肘。