Code Review 是一場苦澀但有意思的修行

Photo?@?Wyron A
文? |??孤盡
前言
業(yè)務跑得這么快,沒時間?Code?Review
代碼是講道理的

每一行代碼的存在是有意義的
更加嚴格地說,每一個字符的存在都應該是有意義的。如果某行代碼的存在完全是可有可無的,這個時候,我們考慮過 JVM 的感受嗎?憑白無故地要編譯這些字節(jié)碼,然后棧進棧出的忙活一陣子,然后告訴它,你的勞動是沒有任何價值的。比如,Boolean assetFlag = Boolean.true ; 這里都已經明確地給給出來顯示的初始值,可是在調用端,居然還有這樣的判斷:if ( assetFlag != null && assetFlag == true) {...},什么情況下為 null 值啊?另外參數在框架里已經做了值的判斷,那么下邊又是 n 行,對所有參數重新判斷一遍,是對我們的代碼有多少不自信,還是對框架不自信?每一行的代碼,相當于生命,它的存在一定是有意義的,一定是能夠被執(zhí)行到并且能夠為實際的業(yè)務負責的。
我們比拼的不是代碼行數
用戶視角的成功與失敗
有重復使用的量一定要找個地方集中隔離
單測沒必要代碼 Code Review
需要調試來查找錯誤時,往往是一種對異常處理機制的侮辱
多個 return 的語句,概率高的一定先進行判定
吝嗇空行
命名太隨意

Photo @ Jon Tyson?
注釋是電影的旁白
滿天飛的函數式編程好嗎?

孤盡說:“親力親為寫代碼,寫穩(wěn)定和優(yōu)質的代碼,才能激發(fā)強大生產力”。我們希望通過“文化月”的形式,傳播技術文化,向代碼致敬。
很多公司都因為各方面的原因忽視詳設和CR,拿到需求就寫,遇到bug就干,架構設計不存在的,CR壓根沒有的事兒。
CR是不僅能讓大家一起進行思維碰撞,共同進步,也能進一步降低代碼的風險。簡單點說,CR就是對設計和實現的再次確認,在反復較量的過程中,相互學習和成長。
但有一個前提非常重要,就是參與CR的人都需要心胸寬廣,不然CR容易變成互懟。
評論
圖片
表情
