Re: [問題] 關於例外檢查的問題
例外是很耗效能的
使用例外的時機點是程式無法繼續下去+維持程式的架構
所以不用去捕捉例外就盡可能不要捕捉
因此在這裡的案例就是能夠判別null~就不要去捕捉nullpointexception
但是如果要取其一的話~當選架構
此外你要維持程式的精簡~可以參考設計樣式
(程式碼的好壞不在程式碼的多少)
程式的流程有個重點就是
if是萬惡的 switch更是可怕 goto是無間道阿
(我這裡是誇大了,但是參考重構 clean code 等書幾乎都會這樣說 XD )
其他就請參考重構+設計樣式+敏捷3P
(這幾本書建議必看)
基本上像這種需要擴充的判別
我大概會用strategy + template來設計一下
但是前提是要不簡單的需求或是比較動態的會擴充的
如果只有固定幾種判別
那就還是用if 就好了
(把if else移到新的方法裡面去)
提供參考一下
※ 引述《swatches (松鼠)》之銘言:
: 最近在寫java時,在選擇用exception和條件式判斷時
: 不太明白兩者使用的時機
: 如果是用條件式判斷:
: String type = getPara();
: if( type != null && type.equals("haha") ) {
: output += type;
}
: else {
: output += "something wrong"
}
: 如果是用exception:
: String type = getPara();
: try{
: if( type.equals("haha") ) {
: output += type;
}
: } catch (java.lang.NullPointerException e){
: output += "something wrong"
: }
: 這兩者雖然只有針對null pointer這邊做舉例
: 可是其實我還是有遇到其他更複雜的狀況
: 個人的想法是
: 如果我用條件式判斷時,可以掌握所有的情況,但是比較複雜
: 如果我用例外處理時,程式碼相對簡潔,但是不能掌握所有的判斷情況(?)
: 想問問各位有關這兩個做法的想法,如果有哪裡說錯了,還請大家幫忙糾正
: 謝謝
PS.{}雖然看起來很多餘,但是個好習慣
多寫個方法或是類別並不會造成效率的差異很大,但是對於程式的架構
卻有很好的影響
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.29.28.131
討論串 (同標題文章)
完整討論串 (本文為第 4 之 4 篇):
問題
1
6