性能问题变量赋值

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 的可读性要高得多,因为它具有良好呈现的原因-结果层次结构。这对于大型方法尤其重要,因为它可以为程序员节省大量分析时间。