为什么这个 C# ctor 的可维护性指数这么低?

Why is the Maintainability Index so low in this C# ctor?

我有一个简单的 C# ctor,它初始化了一些变量:

public RSSSourceData()
{
    RSSVersion = "";
    ChannelTitle = "";
    ChannelLink = "";
    ChannelDescription = "";
    Category = "";
    Copyright = "";
    Language = "";
    PubDate = "";
    ManagingEditor = "";
    FileToProcess = "";
    OnlineSource = "";
}

所有变量都是string个变量。

当我 运行 整个项目的代码指标时,对于这个 ctor,我得到了 57 的可维护性指数。我预计它会更高,因为没有什么复杂到需要太多维护致力于为变量赋值。

我做错了什么?

稍后编辑:class 字段的声明是:

   class RSSSourceData
    {
        public string RSSVersion;
        public string ChannelTitle;
        public string ChannelLink;
        public string ChannelDescription; 
        public string Category; 
        public string Copyright;
        public string Language; 
        public string PubDate; 
        public string ManagingEditor; 
        public List<string> NewsTitle = new List<string>(); 
        public List<string> NewsLink = new List<string>(); 
        public List<string> NewsDescription = new List<string>();     
        private string OnlineSource; 
        private string FileToProcess; 
        private List<string> FileContent = new List<string>(); 

(...方法在这里)

字段已用常量初始化。在您的示例中,它们是空的。通常情况下,它们会有一些值。

因此,如果您需要更改初始值,则需要深入研究源代码。

这就是可维护性高的原因。

一个简单的回答是它受代码行的影响。

长话短说,它真的很难维护。

  1. 为什么这个class/ctor要同时保持这么多状态?
  2. 任何 property/field 是否依赖于先前的 property/field 初始化?
  3. 当它变长时,如何确保不丢失 protperty/field 或重复初始化?
  4. 这样做class还遵循高内聚吗?
  5. 如果是数据合约class,可以自动生成吗?