类与超类同名¶
ID: java/class-name-matches-super-class
Kind: problem
Security severity:
Severity: recommendation
Precision: high
Tags:
- maintainability
- readability
- naming
Query suites:
- java-security-and-quality.qls
与超类同名的类可能会令人困惑。
建议¶
使用不同的名称来阐明子类和超类之间的差异。
示例¶
在以下示例中,不清楚 attendees
字段是指内部类 Attendees
还是类 com.company.util.Attendees
。
import com.company.util.Attendees;
public class Meeting
{
private Attendees attendees;
// ...
// Many lines
// ...
// AVOID: This class has the same name as its superclass.
private static class Attendees extends com.company.util.Attendees
{
// ...
}
}
要解决此问题,应重命名内部类。
参考¶
R. C. Martin,代码整洁之道:敏捷软件技艺手册,§17.N4。Prentice Hall,2008 年。