性能问题变量赋值

时间:2015-10-14 13:29:21

标签: performance 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。

1 个答案:

答案 0 :(得分:1)

实际上,考虑到编译器的优化,这里的开销很小,如果有的话。除非您自己编写编译器,否则您不会在专业编码环境中关心它。

更重要的是,考虑(现代)编程范式,代码风格和可读性。

示例A更具可读性,因为它具有良好呈现的理由 - 结果层次结构。这对于大型方法尤其重要,因为它为程序员节省了大量的分析时间。