1、方法使用一級縮排
可利用ide的「抽取方法」功能,不斷地抽取方法中的行為,直到它只有一級縮排為止;
這樣做的好處時:每個單獨的方法變得更加簡單,同時其實現也與名稱更加匹配。在這樣短小的**中找bug更加容易。
2、拒絕使用else關鍵字
令人眩暈的層層巢狀的條件判斷或是連綿數頁的case語句,更糟糕的是在現有的判斷條件上加乙個新的分支通常是非常容易的,而將它重構為乙個更好的方式的想法去少有人提到,而條件判斷語句通常是重複**的**。
使用三元運算子,可以減少**長度,這得看情況使用
如果根據狀態進行分置選擇的**大量地重複,就要考慮使用策略模式了。
多型就是乙個強大的工具,它能夠處理更為複雜的條件判斷;對於簡單的條件判斷,我們可以使用「衛語句」和「提前返回」替換它。
另外有很多任務具和方法幫你甩脫else,得自己總結歸納
3、封裝所有原生型別和字串
4、一行**只有乙個「.」符號
5、不要使用縮排
6、保持實體物件簡單清晰
7、任何類中的例項變數都不要超過兩個
8、使用一流的集合
9、不適用getter/setter/property
總之,要在**中減少重複,寫出簡練的**來闡述乙個某個系統邏輯。只有這樣,你的**質量就會越來越高,並努力使用物件導向的多型來解決比較複雜的問題
物件導向健身操 九步邁向優秀軟體設計
本文內容來自 軟體開發沉思錄 優秀設計背後的七條核心概念 內聚性,松耦合,零重複,封裝,可測試性,可讀性,單一職責。採用這些規則的關鍵是,使用物件導向的思考。動機 龐大的方法往往缺少內聚性,乙個常見的原則是將方法控制著5 行以內 不包括入參檢查 你可以嘗試讓每個方法只做一件事情 每個方法只保護乙個控...
一名優秀的軟體設計師
不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基 本原則是可以遵循的。1.紮實的基礎。資料結構 離散數學 編譯原理,這些是所有電腦科學的基礎,如果 不掌握他們,很難寫出高水平的程式。據我...
一名優秀的軟體設計師
不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基 本原則是可以遵循的。1.紮實的基礎。資料結構 離散數學 編譯原理,這些是所有電腦科學的基礎,如果 不掌握他們,很難寫出高水平的程式。據我...