提高交付質(zhì)量并減少技術(shù)債的五種方法

TDD - Test Driven Development

測試驅(qū)動開發(fā),英文全稱Test-Driven Development,簡稱TDD,是一種不同于傳統(tǒng)軟件開發(fā)流程的新型的開發(fā)方法。它要求在編寫某個功能的代碼之前先編寫測試代碼,然后只編寫使測試通過的功能代碼,通過測試來推動整個開發(fā)的進行。這有助于編寫簡潔可用和高質(zhì)量的代碼,并加速開發(fā)過程。

Pair Programming

結(jié)對編程技術(shù)是一個非常簡單和直觀的概念:兩位程序員肩并肩地坐在zhi同一臺電腦dao前合作完成同一個設(shè)計。同一個算法、同一段代碼或同一組測試、與兩位程序員各自獨立工作相比.結(jié)對編程往往只需花費大約一半的時間就能編寫出質(zhì)量更高的代碼, 但是,人與人之間的合作不是一件簡單的事情——尤其當(dāng)人們都早己習(xí)慣了獨自工作的時候、實施結(jié)對編程技術(shù)將給軟件項目的開發(fā)工作帶來好處.只是這些好處必須經(jīng)過縝密的思考和計劃才能真正體現(xiàn)出來。

通常認為結(jié)對編程由于有實時審查可以有效降低錯誤率;結(jié)對的相互交流則可以拓寬視野,拓展思路;由于工作是結(jié)對的,對新成員的融入團隊也有幫助;在時間上能加快開發(fā)進度。

Continuous Integration

持續(xù)集成簡單來說持續(xù)集成就是頻繁地(一天多次)將代碼集成到主干。每次集成都通過自動化的構(gòu)建(包括編譯、發(fā)布、自動化測試)來驗證,從而盡快地發(fā)現(xiàn)集成錯誤。

持續(xù)集成的目的和好處:

讓產(chǎn)品可以快速迭代,同時還能保持高質(zhì)量。它的核心措施是,代碼集成到主干之前,必須通過自動化測試。只要有一個測試用例失敗,就不能集成。持續(xù)集成并不能消除 Bug,而是讓它們非常容易的發(fā)現(xiàn)和改正。

快速發(fā)現(xiàn)錯誤,每完成一點更新,就集成到主干,可以快速發(fā)現(xiàn)錯誤,定位錯誤也比較容易;防止分支大幅偏離主干,如果不經(jīng)常集成,主干又在不斷更新,會導(dǎo)致以后集成的難度變大,甚至難以集成。

Collective Code Ownership

團隊中經(jīng)常有成文或者不成文的規(guī)定,那就是一位開發(fā)成員只對單獨的一個或者幾個代碼文件負責(zé)。但是collective code ownership,如它的名字暗示的,不管是為了完成一項開發(fā)任務(wù),或者修復(fù)一個代碼缺陷,甚至改進整個代碼的結(jié)構(gòu),每一位團隊成員都被允許,且有責(zé)任在需要的情況下去修改任何代碼文件。

這種模式能夠降低成員缺席導(dǎo)致開發(fā)進度落后的風(fēng)險,增加整體設(shè)計的可信度,幫助技術(shù)知識更快地擴散并且鼓勵開發(fā)成員更加團結(jié)地對代碼質(zhì)量負責(zé)。

Refactoring

重構(gòu)地含義是,改進現(xiàn)有代碼內(nèi)部結(jié)構(gòu)的同時,保證其最終對外的功能不變。常見的代碼重構(gòu)技術(shù)有抽象方法,引入新參數(shù)等。

重構(gòu)能夠增加代碼的可維護性,易讀性,它也會促進開發(fā)成員去思考軟件為何如此設(shè)計以及設(shè)計是否合理。同時,重構(gòu)會促進代碼形成可復(fù)用的模塊或者模板,提高代碼開發(fā)效率。

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

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

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