性能问题变量赋值
performance issue variable assignment
我想知道,哪种情况最好?
(请看我的例子,这些只是所讨论情况的小例子。我知道你可以在没有结果变量的情况下使用完全相同的函数。)
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.
实际上,考虑到编译器优化,这里的开销很小(如果有的话)。在专业的编码环境中你不会关心它,除非你自己写一个编译器。
考虑到(现代)编程范式,更重要的是代码风格和可读性。
示例 A 的可读性要高得多,因为它具有良好呈现的原因-结果层次结构。这对于大型方法尤其重要,因为它可以为程序员节省大量分析时间。
我想知道,哪种情况最好?
(请看我的例子,这些只是所讨论情况的小例子。我知道你可以在没有结果变量的情况下使用完全相同的函数。)
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.
实际上,考虑到编译器优化,这里的开销很小(如果有的话)。在专业的编码环境中你不会关心它,除非你自己写一个编译器。
考虑到(现代)编程范式,更重要的是代码风格和可读性。
示例 A 的可读性要高得多,因为它具有良好呈现的原因-结果层次结构。这对于大型方法尤其重要,因为它可以为程序员节省大量分析时间。