提示五十一:謹(jǐn)慎設(shè)計(jì)方法簽名。
- 謹(jǐn)慎選擇方法名。
- 不要過于追求提供便利的方法。
- 避免過長的參數(shù)列表。有三種方法可以縮短參數(shù)列表。
- 分解方法。
- 創(chuàng)建輔助類保存參數(shù)。
- 從對(duì)象的構(gòu)建到方法的調(diào)用都采用Builder模式。
- 參數(shù)類型優(yōu)先使用接口而不是類。
- 對(duì)于boolean參數(shù),要優(yōu)先使用兩個(gè)元素的枚舉類型。
思考:
起名一直是一個(gè)很重要的問題。記得以前看過一些規(guī)范,教你給方法起名字的時(shí)候可以使用動(dòng)賓結(jié)構(gòu),關(guān)于用詞,還有網(wǎng)站能給你提供網(wǎng)友所起的名字,這一步一定不能隨便,否則你就只能收獲一個(gè)只有自己才能看懂的方法名。關(guān)于第二點(diǎn),以前我經(jīng)常會(huì)為了自己用的方便抽一些方法出來,但是沒有考慮過這些方法會(huì)不會(huì)對(duì)別人造成困擾。過長的參數(shù)列表對(duì)誰來說都是不喜歡的東西,分解方法對(duì)于一些耦合比較低的代碼來說可能有用,但是如果方法內(nèi)部復(fù)雜度較高的時(shí)候,并不是一件很容易的事情,第二點(diǎn)一般用的更多,但是也更加麻煩,而且會(huì)帶來更多的類。至于Builder模式感覺還是有一些使用場(chǎng)景的限制,更多的用來創(chuàng)建一個(gè)對(duì)象,不是非常通用。至于最后一點(diǎn)盡量不要用boolean,我感覺只是那些當(dāng)前只有兩個(gè)狀態(tài)但是未來很容易出現(xiàn)更多的情況下適合,如果一個(gè)變量就是代表是否的概念,那么我還是傾向直接使用布爾類型。