Jor*_*dan 5 java optimization coding-style
在无数(好的,可数的,但很多)场合,特别是在类的方法/函数中,我一直处于我想在void-return函数中执行一组操作的情况,但仅限于此if(condition met)
.在大多数情况下,我可以看到(假设代码工作)如何else
通过简单地在if
块中返回来完全删除语句.
这是一个具体的例子,如果没有意义:
用else语句(教师如何展示)
private void ifThisDoThat(params){
if(dependenciesNotMet) return;
else{
////DO STUFF HERE...
}
}
Run Code Online (Sandbox Code Playgroud)
没有(更简约)
private void ifThisDoThat(params){
if(dependenciesNotMet) return;
//Assuming the above does not execute, DO STUFF HERE...
}
Run Code Online (Sandbox Code Playgroud)
我认为删除else
声明,如果完全优化,将被归类为微优化,但仍然认为我会要求我自己的启发.
结束时:
使用a return
删除else
块有什么好处吗?
如果我使用else
语句,编译器是否会做额外的工作?
是否有理由始终使用else
(出现错误或其他原因)?
这是错误的优化.编译器实际上可能需要更长的时间来编译,从中间返回,并且任何优化编译器将为两个表单生成基本相同的可执行代码.
在风格方面,有时一种风格是好的,有时是另一种风格.返回立即风格的危险是:
if
支路中逻辑的激增,比标准if/then/else产生更多的混乱.也就是说,有些情况下,从中间返回的风格是更好的选择:
if
语句的情况,每个语句都有一个简单的主体,每个都能以return结尾. 归档时间: |
|
查看次数: |
426 次 |
最近记录: |