今天我們要一起學(xué)習(xí)是開發(fā)手冊(cè)的編程規(guī)范中的控制語句和注釋規(guī)約。相信大家都已經(jīng)使用過sonar這樣的靜態(tài)代碼掃描工具,不知道是否有注意過哪種異味占比最多呢?哪種異味一直都很難清除呢?恐怕其中一大類就是控制語句的復(fù)雜度太高了。那么阿里的規(guī)范里對(duì)于控制語句的要求有哪些呢,請(qǐng)看下圖:

控制語句.jpg
由上圖,我們可以看到,其實(shí)經(jīng)常使用的控制語句無外乎if/esle或者switch。而它這里也只是說明了使用的方法,并沒有指出當(dāng)我們必須使用復(fù)雜的判斷實(shí)現(xiàn)邏輯時(shí)怎么降低復(fù)雜度的方法。這里我想提出,大家可以嘗試使用策略模式代替?zhèn)鹘y(tǒng)的邏輯判斷語句。但是什么時(shí)候使用策略模式比較好,什么時(shí)候使用if/else比較好,就需要大家在先熟練掌握了這一設(shè)計(jì)模式后,根據(jù)自己的開發(fā)邏輯實(shí)際情況進(jìn)行評(píng)估。切勿陷入過度模式。我們的出發(fā)點(diǎn),應(yīng)該保持在降低代碼復(fù)雜度和提高可讀性上。
說到可讀性,就不能不提代碼注釋了。
請(qǐng)看下圖

注釋規(guī)約.jpg
不知道大家是的有自己生成過自己寫的java代碼對(duì)應(yīng)的java doc。如果還沒有的話,可以自己生成看看,這個(gè)文檔會(huì)很好的反映你的類,方法是否注釋得當(dāng)。對(duì)于注釋,最后再說一句,請(qǐng)善待你的注釋,對(duì)你還是他人都會(huì)受益無窮。