您更喜欢哪种最佳做法,代码A或代码B?对于代码A,我不需要初始化变量,但每次调用getNum()
函数时,我都需要一次又一次地调用它。它缺乏内存管理,可读性,代码管理和可用性。与代码B相比,我只为num
定义变量book.getNum()
,每次我想使用book.getNum()
函数时,我只调用变量num
。这对实时有问题吗?
代码A:
if( book.getNum() != 0){
//----
}
代码B:
int num = book.getNum();
if( num != 0){
//----
}
答案 0 :(得分:6)
如果您要重复使用此值,则code B
会更好。如果您只想使用此值一次,那么Code A
会更好。
保持简单。如果没有变量,请不要引入变量。
<强>更新强>
在某些情况下,您可以引入一个变量来保存复杂表达式的值,以使代码更具可读性。但对于简单的情况,就像你描述的那样,上述方法是正确的。
答案 1 :(得分:3)
B,以获得更好的代码可读性和维护性。
通过使用任何虚拟值交换函数调用(getNum())来测试函数也更容易..
考虑未来,未来可能你想扩展这个代码,而且更容易使用num而不是getNum()......
答案 2 :(得分:2)
编译器优化了这一点。两种方式基本相同。
我建议使用此唯一的情况:
int num = book.getNum();
if( num != 0){
//----
}
是在后面的代码中使用book.getNum()
的时候。 num
比book.getNum()
短的事实在这种情况下是一个优势,只是从使代码更具可读性的角度来看。
答案 3 :(得分:-2)
一个。 因为在b中你又在内存中添加了一个变量。 。 。 。 但它只适用于规模很大的应用程序。