为什么在此C#ctor中可维护性指数如此之低?

时间:2018-12-30 11:22:05

标签: c# maintenance maintainability

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

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

所有变量都是string变量。

当我为整个项目运行代码度量标准时,对于该ctor,我得到的可维护性指数为57。我希望它会更高。因为没有什么复杂的东西需要太多的维护工作才能将值赋给变量

我在这里做什么错了?

稍后编辑:类字段的声明为:

   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>(); 

(...方法来了)

2 个答案:

答案 0 :(得分:1)

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

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

这就是为什么可维护性很高的原因。

答案 1 :(得分:1)

一个快速的答案是它受代码行的影响。

一个很长的答案是,这真的很难维护。

  1. 为什么这个班级/老师应该一次维护这么多状态?
  2. 任何属性/字段都取决于先前的属性/字段初始化吗?
  3. 当它变长时,如何确定没有丢失的属性/字段或重复的初始化?
  4. 这堂课是否仍具有很高的凝聚力?
  5. 如果是数据合同类,可以自动生成吗?