我经常遇到这个疑问,我可以使用一些意见。 我经常将变量用于仅使用一次的值,我不确定是否有正确或错误的方法。有没有关于此的公约准则?
一个简单的例子:
int matches = 10;
int victories = 4;
int defeats = 3;
int ties = (matches - (victories + defeats));
int score = (victories*3 + ties);
是否应删除ties
以使其成为此内容?
int matches = 10;
int victories = 4;
int defeats = 3;
int score = (victories*3 + (matches - (victories + defeats)));
尽管有一个愚蠢的例子,但我对这种不同复杂情况感到疑惑。
我可以看到使用ties
的优点和缺点:
优点:
ties
缺点:
也许这只是个人品味的情况,但让我知道你如何处理这个以及为什么。谢谢!
答案 0 :(得分:8)
我建议您使用最容易阅读的版本。在编译器和JIT之间,您执行微优化就不会在实际应用程序中产生任何可衡量的性能差异。
答案 1 :(得分:1)
我建议使用第一个版本。因为大部分时间我们都是团队工作,如果代码更好的可读性和更少的麻烦,那将是最好的。第二个版本针对的内存优化没有多大帮助(实际上没什么) ),因为JVM已经为我们做了很好的内存释放。 如果它是局部变量:JVM以LIFO方式释放所有变量(局部变量)(w.r.t调用堆栈) 如果它是一个成员变量:JVM会定期垃圾收集存储在堆中的所有对象(也包括成员变量)。