CodeQL 文档

类名与超类名相同

ID: cs/class-name-matches-base-class
Kind: problem
Security severity: 
Severity: recommendation
Precision: high
Tags:
   - maintainability
   - readability
   - naming
Query suites:
   - csharp-security-and-quality.qls

点击查看 CodeQL 代码库中的查询

此规则标识名称与其扩展的类名称相同的类。这可能会导致混淆。

建议

更改子类的名称,使其更清楚地表明其用途。通常可以表达它与超类的不同之处。

示例

在此示例中,稍后在 Players 类中对 ArrayList 的引用可能会造成混淆。

class Players
{
    private ArrayList playerList;
    class ArrayList : System.Collections.ArrayList
    {
        public String GetBestThree()
        {
            return "1st: " + this[0] + "\n 2nd:" + this[1] + "\n 3rd:" + this[2];
        }
    }
}

通过使用更具描述性的名称进行修复

可以通过将 Players.ArrayList 类名更改为 Players.PlayerList 来轻松修复该示例。这更具描述性,并且避免了与 Collections 中的 ArrayList 类混淆。

参考文献

  • Robert C. Martin,《代码整洁之道 - 敏捷软件工艺手册》,§17.N4。Prentice Hall,2008 年。

  • ©2025GitHub 公司
  • 条款
  • 隐私