作者swpoker (swpoker)
看板java
标题Re: [问题] 关於例外检查的问题
时间Wed Nov 16 15:52:03 2011
例外是很耗效能的
使用例外的时机点是程式无法继续下去+维持程式的架构
所以不用去捕捉例外就尽可能不要捕捉
因此在这里的案例就是能够判别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