这个对某些人来说似乎微不足道,但我从一开始就试图养成良好的习惯......
是否应始终以最小范围创建对象?
在下面的示例中,corner1
仅在循环内使用。最好的做法是在循环中创建(声明)它吗?
即。这样做
for(int i = 0; i < 1; i++){
DoubleVector corner1 = new DoubleVector();
// code where corner1 gets used
}
而不是
DoubleVector corner1;
for(int i = 0; i < 1; i++){
corner1 = new DoubleVector();
// code where corner1 gets used
}
当然,如果我稍后需要corner1
,那么我想我必须选择第二个选项。
答案 0 :(得分:4)
是的,最好在循环中声明它。在这种情况下,原因主要是代码清洁度。如果声明接近初始化,则更容易阅读,并且它更好地记录了变量的使用方式。
当然,如果对象可以在循环的所有迭代中共享,那么在循环之前放置声明和初始化可能是一种有效的优化。 / p>
答案 1 :(得分:4)
这不是以最小范围创建对象的情况,而是以最小范围声明变量。值得区分两者。
但是,通常最好的做法是尽可能狭隘地限制变量的范围 - 并且只在需要时才声明它们。变量出现的代码区域越小,就越容易理解它的使用方式和来源。
答案 2 :(得分:2)
是的,最好尽量减少变量的范围。它可以减少混乱,并减少在错误的时间意外使用错误的机会。
答案 3 :(得分:1)
限制变量和对象的范围始终是一种好习惯。 不仅是代码清理,而且因为它为垃圾收集器提供了一些回调,以便重新使用干净的臀部(如果谈论对象而不是在这种情况下变量)。
此外,在编写代码时,变量的大可见性更容易出错。