Android Studio说“本地变量是多余的”#39;

时间:2014-04-18 17:47:26

标签: java android android-studio refactoring

我收到local variable is redundant

的许多方法的警告

以下是一个示例方法:

public MyObject getMSListItem(int pos) {
    MyObject li = getItem(pos);
    return li;
}

现在看来,我想,我可以做到这一点来解决它:

public MyObject getMSListItem(int pos) {
    return  getItem(pos);
}

另一个例子:

public String getTeacher(int pos) {
    ffTeacherListItem t = getItem(pos);
    String teacher = t.teacher;
    return teacher;
}

似乎这可能是:

public String getTeacher(int pos) {
    ffTeacherListItem t = getItem(pos);
    return t.teacher;
}

或者按照下面的建议,甚至更好!

public String getTeacher(int pos) {
    return  getItem(pos).teacher;
}

这真的是一种“最佳实践”吗?有一种方式比另一种更好吗?或者仅仅是代码可读性而已,仅此而已?

1 个答案:

答案 0 :(得分:9)

  

真的有一个"最佳实践"为了这?有一种方式比   其他?或者仅仅是代码可读性而已,仅此而已?

Simplified说:在你的场景中它没用。这不是不正确的,但你为什么要这样做:

ffTeacherListItem t = getItem(pos);
String teacher = t.teacher;
return teacher;

当你可以做同样的事情时:

ffTeacherListItem t = getItem(pos);
return t.teacher;

或者你也可以这样做:

return getItem(pos).teacher;

以上所有内容都相同,但第二和第三个代码更清晰,您应该总是尝试编写干净的代码而不使用无用的行和引用 1 。还有不成文的规则 - 更少的代码,更少的错误

1 这是"优势"像C ++这样没有垃圾收集器的语言,你负责所有你创建的对象和实例(它们从内存中释放等)。因此,在您决定创建某个Object的新实例之前,您正在考虑更多。