我想知道,哪种情况最好?
(请用我的例子说明,这些只是问题情况的一小部分。我知道你可以拥有完全相同的函数而没有结果变量。)
A)
public String doSomthing(){
String result;
if(condition){ result = "Option A";}
else{ result = "Option B";}
return result;
}
B)
public String doSomthing(){
String result = "Option B";
if(condition){ result = " Option A";}
return result;
}
方案B中的原因:如果满足条件,那么您将为结果分配两次值。 然而在代码中,我一直看到情景A。
答案 0 :(得分:1)
实际上,考虑到编译器的优化,这里的开销很小,如果有的话。除非您自己编写编译器,否则您不会在专业编码环境中关心它。
更重要的是,考虑(现代)编程范式,代码风格和可读性。
示例A更具可读性,因为它具有良好呈现的理由 - 结果层次结构。这对于大型方法尤其重要,因为它为程序员节省了大量的分析时间。