Java中的过早优化:何时使用“x = foo.getX()”与简单地使用“foo.getX()”
2022-09-04 05:39:43
当我发现自己多次调用相同的 getter 方法时,这应该被视为一个问题吗?[总是]分配给局部变量并只调用一次是否更好?
我确信答案当然是“视情况而定”。
我更关心的是更简单的情况,其中getter只是一个“传递私有变量的值”类型的方法。即,不涉及昂贵的计算,不消耗数据库连接等。
我的“是否更好”的问题与代码可读性(样式)和性能有关。也就是说,它是否对性能有很大影响:
SomeMethod1(a, b, foo.getX(), c);
SomeMethod2(b, foo.getX(), c);
SomeMethod3(foo.getX());
与:
X x = foo.getX();
SomeMethod1(a, b, x, c);
SomeMethod2(b, x, c);
SomeMethod3(x);
我意识到这个问题有点挑剔和灰色。但我刚刚意识到,我根本没有一致的方式来评估这些权衡。我钓鱼的一些标准不仅仅是完全异想天开。
谢谢。