關鍵字:代碼質量 團隊建設 流程優化
美業技術團隊前端對外的業務項目的主要編程技術棧是:前端
在構建項目的前期,前端對業務項目按端來劃分人員,各端各司其職,各自沉澱。git
中期隨着產品的基本成型,前端團隊人員按照業務領域劃分紅了多個子業務組前端,各組負責4端中對應模塊的業務。數據庫
因而,咱們美業團隊20個前端幾乎每一個人都要維護4個不一樣的編碼上下文的項目,好處是技術多樣性豐富,可是瓶頸也一樣存在,一我的須要擁有多端的開發能力,在編碼規範和代碼風格檢查儘量統一的狀況下,由於上述技術體系的差別,咱們仍是不得不須要熟悉四端的技術架構、開發流程、數據流處理、資產市場、最佳實踐。編程
這是頗有挑戰的,業務小組之間成立了一個小型的前端技術委員會,來應對這種變化:安全
隨即,咱們在代碼質量上迎來了一些問題:微信
對代碼質量的把控方面,現狀流程是:咱們半年要對幾端的項目代碼進行一次總體的code review。架構
可是和垃圾回收同樣,總體的標記清除佔用人員的時間較長,會影響屆時涉及人員的業務開發進度。xss
因而咱們想探索一種適合咱們團隊和業務發展,小步快跑模式的code Review,儘量早的從一開始就參與進來,更高頻率,加強審查和設計把控,減小後面返工和帶來Bug所影響的總體效率。工具
有了這樣的背景和改進訴求,我發現咱們得從新定義一下咱們作這件事情的目的和價值。gitlab
通過思考和討論,咱們作 Code Review 的核心目的只有兩個:
同時要作上述理想中的 Code Review,咱們可能不得不面臨這些實踐過程當中會遇到的問題:
基於這些訴求和待解決問題,咱們須要對總體的標準和每一次 Code Review 的關鍵控制點進行細化和量化,因而有了咱們初版 Code Review 的 SOP(標準做業流程)。
宣講各端統一代碼規範和最佳實踐、編碼原則。Code Review的基礎是有基本的代碼規範和原則,同時要同步給你們。
成立專門的 code review 小組,小組成員是各端經驗豐富的人員,這樣才能比較好的保障初期 Review 有比較好的效果,可讓 Code 人員有更大所獲,先富帶後富,通過屢次 Code Review 對齊標準以後,更多 Code 優秀的同窗也能夠加入進來,討論對規範和原則的實踐。
每項1~5分,基準分爲3分,得分在此基礎上根據評分點浮動,總評分爲各項得分的平均分。
① 基本面:對團隊既定規範的遵循和代碼開發的改動量是咱們作評分的第一個基礎。
② 架構設計:是否有總體設計,設計是否合理,設計是否遵循了設計,這是第二個維度
③ 代碼:代碼細節上是否儘量保持簡單和易讀,同時鼓勵細節優化是咱們的第三個維度
④ 健壯性:錯誤處理、業務邏輯的邊界和基本的安全性是咱們的第四個維度
⑤ 效率:是否貢獻了總體,爲物料庫和工具庫添磚加瓦,與總體沉澱造成閉環,是咱們第五個維度的初衷
Code 人在企業微信羣發起 Review 申請,統一參考格式,內容包括:
mr地址、產品文檔、UI稿、技術設計、效率平臺、接口文檔
原則是能爲 Review 方儘量提供足夠的信息來判斷 Code 的好壞,去更好發現深層次問題。
固然文檔也說不到所有的上下文,因此咱們須要分配 Review 人員時候要考慮技術棧和業務相關熟悉度,必要時候 Code 人員要向 Review 人員口述需求、代碼思路和重點。
1.0版本在持續的細節迭代,作到了比較滿意的標準化做業,可是有幾個比較大的缺陷:
1.操做欠缺自動化
2.信息欠缺數字化
3.流程欠缺可視化
因此咱們有了把 Code Review 整套流程作成已有的內部前端工具平臺中一個模塊的想法,以期達到可視化、自動化、數字化的目的。
投入產出比是咱們須要考慮的,咱們很篤定。由於雖然這件事情沒有直接的業務價值,可是有很是好的質量把控和能力量化的價值,而且有標杆式的團隊建設價值,人員成長了,更好地爲業務服務。
在完成上述基本需求以後,咱們同時在收集反饋新增了
結合數據庫表設計以後,咱們就分工開整了。
前人種樹,後人除了乘涼以外得繼續澆灌。流程和機制是死的,咱們得用一些更加有溫度的一些策略讓它持續能夠迭代和發展繼承下去。
附帶一些半年頒獎的圖:
本文篇幅有限,實踐過程當中不少的細節問題和處理沒有闡述,好比 code、review 雙方的協做處理等。歡迎進一步討論。
微信:zz94530
目前有贊深圳研發團隊大量招聘高級前端,歡迎諮詢和投簡歷~