CodeQL 文档

类与超类同名

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

单击以在 CodeQL 存储库中查看查询

与超类同名的类可能会令人困惑。

建议

使用不同的名称来阐明子类和超类之间的差异。

示例

在以下示例中,不清楚 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 年。

  • ©GitHub, Inc.
  • 条款
  • 隐私