【发布时间】:2016-06-08 15:12:08
【问题描述】:
我已经多次看到这个问题被问过,但方式不同,答案从来都不是我一直在寻找的。我确信我可以做一些测试,但我觉得这对其他人来说可能是一个很好的资源,也许可以就此事获得一些意见。
问题是:我有一个实现配置接口的类。每个被继承的方法通常都有一个变量。最常见的是通用对象。
如果这些方法被一遍又一遍地调用,创建临时类级变量(每次调用方法时都被覆盖)或者每次都创建一个新变量会更有效吗?
尤其是在循环期间。我通常尝试将所有变量都保留在本地,但最近与我合作的一位程序员做了相反的事情并更改了我的一些代码,因为如果我需要进行修改,将来可以更容易地更改它。
如果这令人困惑,这里有一个例子来说明我的意思:
// Reused Local Variable
private Object tempObject;
public char getChar(String key) {
tempObject = get(key); /* method that grabs and object from a map */
// more code...
}
// Recreated Local Variable
public char getChar(String key) {
Object tempObject = get(key);
// more code...
}
请不要将此标记为重复的问题。这个问题有很多,但他们都有不同的回答,差别很大。
我做了我的研究,所以不要说我没有。 (在这个网站上似乎是一个大问题。你无法再获得任何帮助,因为人们很快就标记帖子甚至不阅读它们,因为它们与其他帖子相似)。
这些答案:here,声明如果你想重新格式化你的代码,你将无缘无故地为自己做更多的工作。并且取决于编译器,它可能会自动将代码重构为最佳用法。但是如果有多个用户在不同的编译器上编译代码,一个构建可能会更多。
这些答案:here,似乎只是在谈论在单个方法中重用变量。或者为不同的值或值类型重用一个变量。如果该值与第一个值不同,它应该有自己的名字。除非所述变量的命名是通用的并且可以用于不同的事物。整数 'i' 可能不是最好的重用,因为它很常见,可以在其他可能导致冲突的地方使用。只要您输入的值相关且兼容,就可以重复使用诸如“分数”之类的内容。
【问题讨论】:
-
有趣的是,人们根本不想提供帮助,甚至不想提供任何建议。相反,他们只是对该主题投反对票和/或报告它。这个网站很棒。爱这里所有乐于助人的人。
标签: local-variables class-variables