阿里孤盡:Code Review 是一場苦澀但有意思的修行

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

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

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

推薦閱讀:
RocketMQ實戰(zhàn):生產(chǎn)環(huán)境中,autoCreateTopicEnable為什么不能設(shè)置為true Java程序跑的快,全要靠線程帶 用了這么多年的注解,你知道注解是干嘛的嘛? vim常用命令(命令模式、末行模式) 朕已閱?
評論
圖片
表情

