寫在前面,減少低質量代碼是不少程序員遇到低質量代碼后發自內心的一個問題。這個問題解決不好。會導致團隊成員氣氛不好,不和諧,新加入的人會很快流失,是擺在團隊技術leader面前的一道難題。
這個問題難點不在于怎么做,難的地方在于,怎么更好落實和持續執行,落地見到效果。作為一個過來人,踩過不少坑,有話要說。
在部門內推動cilint,單元測試,codereview的人來說,有發言權,并且已經見到效果,就更有發言權了,歡迎交流。
第一,團隊要有代碼質量要求的規范和氣氛。就是大家都承認代碼質量的重要性,制定質量規范。比如一個函數不超過多少行,一個函數只做一件事情,圈復雜度不能超過20,等等一系列規范。
第二,統一的檢查工具一般編程語言都有lint類的工具,通過工具,可以將規范落地。將工具集成到ide,集成到ci工作流中去,lint不過的卡點。
第三,可視化,通過一些可視化手段,將壞味道的代碼展示出來,集中看每個項目的代碼質量。比如單元測試覆蓋率,壞味道的代碼,lint檢查有問題的數量
第四,推行coderevirw,平時寫代碼提交要經過cr流程,然后才能合并。cr看的東西就是第一條中制定的規范和lint執行的結果。cr還可以不定期的舉行集中式cr,方便團隊統一認知和交流,方便第一條制定的規范落地。定期輸出cr周報,比如本周cr次數排行榜,有質量的cr評選。
最后總結下,就是規范先行,工具支撐,可視化反饋,codereview落地。相信經過上面的四個步驟的實施,團隊低質量代碼會越來越少,團隊技術氣氛越來越好。
歡迎留言和私信交流,有問必回,喜歡回答角度刁鉆的問題。
老王,專業打碼三十年的老碼農,分享各種打碼的一切。