我收到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;
}
这真的是一种“最佳实践”吗?有一种方式比另一种更好吗?或者仅仅是代码可读性而已,仅此而已?
答案 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的新实例之前,您正在考虑更多。