日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从零开始Code Review

發(fā)布時間:2025/4/5 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从零开始Code Review 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

https://blog.csdn.net/uxyheaven/article/details/49773619

最初來到這個新組建的團隊是木有code review的. 頭說, 這個月你來搞吧.

當我第一次知道必須得搞review的時候, 其實我是拒絕的! 因為我覺得…呀…你不能叫我馬上搞立馬搞, 第一, 我要試一下, 我又不想說…團隊之前就沒有這個習(xí)慣. 我搞了以后, 那個耽誤每天的工作時間啊. 結(jié)果同事一定會罵我, 給他們增加額外的工作量. 我說先讓我嘗試嘗試. 現(xiàn)在呢…每天都在review!每天都在review呢…我還推廣到了其他團隊!來!來!來!大家試試看!

覺得困難, 開展不起來, 想拒絕的原因有很多:

  • 團隊成員寫完需求就不管了, 沒有code review意識
  • 技術(shù)氛圍不強
  • 水平參差不齊
  • 沒有合適的工具

但是總的來說就是一條, 木有code review. 如果已經(jīng)有了, 無論是真的在搞, 還是形式主義, 主持一下都是不難的.

從零到一, 從無到有總是困難的, 咱開始了若干次嘗試之路:

第一次嘗試

最初的版本是其他團隊的寫的, 到我們團隊接手的時候, 啥都木有. 什么逗號等號左右不空格, 類名首字母小寫, 方法名首字母大寫; 依賴亂七八糟; 在view里寫業(yè)務(wù), 在view里發(fā)網(wǎng)絡(luò)請求. 看到這樣的代碼我當時心里是崩潰的.

我先嘗試一個人幫整個團隊review. 零散看了幾天, 問題代碼貼了幾十張ppt, 槽點太多, 看起來很感人. 后來自己放棄了.

結(jié)論

Code Review 一個人看所有人的代碼是不可取的.

第二次嘗試

結(jié)對編程可以看做是一種敏捷化的Code Review. 直接結(jié)對會被頭劈死. 于是我想著采用新的結(jié)對編程方式.

兩位程序員新成結(jié)對小組, 每人一臺電腦, 坐在臨近的工位上, 兩人合作完成一組功能(可以是兩個或多個獨立的模塊)的設(shè)計, 代碼實現(xiàn). 但對已某一個模塊來說設(shè)計和代碼是分開的, 一個人負責(zé)設(shè)計, 另一個人負責(zé)寫代碼, 對于其他模塊則反之.

當我在團隊里尋找可以結(jié)對的伙伴的時候, 發(fā)現(xiàn)木有可以設(shè)計模塊, 項目進度又差不多, 可以結(jié)對的小伙伴.

結(jié)論

Code Review的模式需要接地氣.

第三次嘗試

第三次嘗試, 我想用一個游戲的方法去開展review

  • 每次的review主持輪流當, 由大伙推舉當前找得bug最少的同學(xué)來主持.
  • 每輪開始的時候,先貼出代碼來, 由下面的同學(xué)說問題.(大伙這個時候關(guān)注下哪位同學(xué)次次都木有發(fā)現(xiàn)問題)
  • 最后由主持的同學(xué)將所有的問題列出來.
  • 進入下一輪
  • 如果經(jīng)常是下面的同學(xué)說的比主持人多,主持人第二天繼續(xù).
  • 主持的同學(xué),每日最少準備6張問題ppt斷.
  • 指出的問題由主持人來指定一個修改的同學(xué)修改.
  • 第二天的主持人負責(zé)把當天得bug錄入jira, 并且負責(zé)跟蹤這些修復(fù).

太理想化了, 根本開展不起來.

結(jié)論

不要自己覺得好就是好, Code Review是團隊的事情, 方案定了得拿出去溜溜.

第四次嘗試

無奈之下, 我去請教我的頭, 如何去開這個頭. 頭就給了兩個字: 強壓.

于是小伙伴們便在我的淫威之下開展了第一次的code review. 我用的是之前第一次整理出的ppt. 效果竟然好的意外. 小伙伴們互相吐槽被我指出來的渣渣代碼, 氣氛很是歡樂.

不過關(guān)鍵問題還是沒有一個統(tǒng)一的標準去改. 于是咱緊接著就安排了一場代碼規(guī)范的分享. 再接下來的一次review, 大貨吐槽的點就相對集中了.

結(jié)論

Code Review初期需要有標準. 讓小伙伴們知道如何去review.

第五次嘗試

由于之前的氛圍很好, 有小伙伴A提議拿出他負責(zé)的模塊來集體review. 有主動的, 當然不能拒絕. 后面幾天安排的都是review他的模塊了. 順帶還做了一次他的模塊的設(shè)計分享.

在有天的review中, 有個小伙伴B表示這樣現(xiàn)場重構(gòu)不是他擅長的. 我們: 那你擅長啥? 小伙伴B: 我擅長xxx. 我: 那下周你來給大貨分享下吧. 小伙伴B: 好, 我準備一下.

結(jié)果小伙伴B深藏不漏, 連續(xù)分享了一整個系列.

結(jié)論

聞道有先后, 術(shù)業(yè)有專攻, 不要低估你的小伙伴們. 給他們展示自己的機會.

第六次嘗試

我被掛的任務(wù)是code review, 所以偶爾還是會看看小伙伴們代碼的. 有天突然發(fā)現(xiàn)有個小伙伴C, 在重構(gòu)優(yōu)化代碼了. 咱順勢和他說了一些編程方面的思想和技巧, 告訴他還可以這么重構(gòu), 用查表發(fā)代替條件語句, 用多態(tài)代替提條件語句, 用runtime生成方法名, 用runtime 執(zhí)行方法. 于是他也出來一個技術(shù)分享. 可惜的是關(guān)于編程思想的分享討論起來就木有那么激烈了, 這個只能慢慢來了. 不過當咱吃完飯快8點回到公司的時候, 發(fā)現(xiàn)有兩個小伙伴DE在寫demo, 在討論之前C的技術(shù)分享.

結(jié)論

不能急于求成, 一股腦的灌; 編程的思想需要慢慢悟, .

第七次嘗試

有次review, 我有事提前走了. 但是呢, 本是半個小時分享大伙覺得還不盡興, 又延長了二十分鐘. 之前有幾場分享, 也都不是我主持的. 后續(xù)的review我將嘗試進一步淡化我的主持. 讓我們的review可以自組織的進行下去.

結(jié)論

Code Review需要達到理想的狀態(tài) - 不需要我也能自如地運轉(zhuǎn), 不然最后就會輪為政治任務(wù).

第八次嘗試

到了第八次嘗試,基本已經(jīng)定型. 感謝公司提供gitlab代碼托管平臺. 我們再第一時間將團隊多個項目遷移到了新平臺上去, 然后開發(fā)流程改成了gitflow, 當一個功能開發(fā)完成后, 會發(fā)起Merge Request, 大伙在這個時候便可以開始code review了,互相吐槽的言語和片段也都被記錄了下來, 當收集齊了兩個贊的代碼, 才允許合并進來. 整個過程感覺良好.

結(jié)論

Code Review需要有工具, 需要有不reivew不讓合并的規(guī)矩.

建議

如何做出從零開始code review呢, 我的建議是:

    • tech leader 強壓所有人開始 code review, 這是最重要的一步
    • 安排一次編碼規(guī)范的技術(shù)分享
    • 前期經(jīng)常回顧, 這次的code review開展的怎樣, 有哪些地方可以改善
    • 對于積極的同學(xué)表示鼓勵, 支持現(xiàn)場重構(gòu)代碼
    • 每天不光可以review代碼, 也可以安排整場的技術(shù)分享

轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/articles/9443416.html

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的从零开始Code Review的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。