好久沒寫博客了,感受雖然寫了好久代碼,可是能分享出來的仍是不多,不少代碼剛寫出來很開心,可是又覺着單獨寫一篇博客有點小題大作。linux
最近寫代碼給本身的感覺就是規範和美感,之前寫代碼的時候歷來沒人告訴我要寫的美一點,或者本身對代碼如何美都沒有概念,第一份工做的組長第一條就提了一個我歷來沒關注過的東西,項目中不能有標黃。框架
剛開始聽着心裏毫無波動,甚至有點想笑,後來慢慢的我真的本身寫出來了好幾個項目了,我才慢慢感受到,linux中的 ‘small is beautiful’ 是如此的貼切,又加上如今項目中特地要求了要規範代碼和寫出來有美感的代碼,ide
我開始真正的去每寫一行代碼都去想想我能不能再抽一層,而後把這部分代碼單獨抽出來調用,每個標黃我都會去找爲何idea會認爲這句代碼有bug,而後再換種寫法。說的有點跑題了,不過我但願有人看到的時候也能idea
去注意代碼的整潔之道。spa
進入正題,遞歸雖然很早就瞭解到了,可是一直沒機會在實際代碼中運用,先說下遞歸的原理,遞歸也就是重複的調用本身的代碼 ,而後根據條件分出不一樣的節點,經過不斷的簡單程序,把構成一個邏輯的最基本步驟抽出來而後再利用循環重複調用此基礎步驟。code
private void fab() { if (true)) { //執行邏輯 } else { //處理邏輯 fab();//再次調用 } }
寫着寫着忽然想到項目源碼不能外漏,算了 就留個調用框架吧 blog
這裏面具體要執行到哪一步仍是得靠條件來約束,還有就是寫遞歸的時候必定要跳出實現邏輯以外去想,不要進去遞歸調用裏面去思考程序走向。遞歸