【代碼最佳化】方法簽名及參數檢查

來源:互聯網
上載者:User

標籤:style   使用   strong   資料   io   cti   

參數檢查:

絕大多數方法的構造器對於傳遞給它的參數值會有某些限制。例如,索引值必須是非負數,對象不能

為null等等。


如果傳遞無效參數給方法,在執行前沒對參數進行檢查,該方法可能在處理過程中失敗,並且產生令

人費解的異常。更糟的是,該方法可以正常返回資料。但是會得到一個錯誤的結果,你還認為是正確的,

沒發現其中的倪端。


所以對於方法參數的檢查是有必要的。

常見的幾個錯誤,IllegalArgumentException,IndexOutOfBoundsException和NullPointException

對這些常見的錯誤進行處理,可以給你減少很多麻煩。


不過有時候的參數檢查會帶來相當大的開銷,這樣你就要考慮怎麼做才更好的保護程式健壯性的同時

具有高效性。比如,考慮一個為對象列表排序方法:Collections.sort(List).列表中的所有對象都必須是可以

相互比較的。如果不能比較,就會拋出ClassCastException,這正是sort方法做的事情。你就沒必要去對

sort的參數List進行檢查了,而且檢查會帶來很大開銷。

總之,編寫每個方法時候都應該想到檢查參數,有不有必須去進行檢查就要仔細思考方法的限制了。


謹慎設計方法簽名:

謹慎的使用方法名稱。遵循標準的命名習慣,首要目的是容易理解,讓其他開發人員懂得你所表達的意思。

第二目的是選擇福士認可的,盡量使用大家平時習慣相一致的名稱。


不要過於追求提供便利的方法。每個方法在容易讀的前提下,盡其所能。方法太多會使類難以學習。


避免過長的參數列表。參數列表太長,不美觀,也難讀,就好4個一下。


對於參數類型,要優先使用介面而不是類。比如方法參數應該傳map,不應該傳Hashmap,這使你可以

傳入hashtable,hashmap,treemap這些類型。如果傳入的是類,就對方法做了限制。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.