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

C# 为什么这个部门的可维护性指数这么低?,c#,maintenance,maintainability,C#,Maintenance,Maintainability,我有一个简单的C#ctor,它初始化了一些变量: public RSSSourceData() { RSSVersion = ""; ChannelTitle = ""; ChannelLink = ""; ChannelDescription = ""; Category = ""; Copyright = ""; Language = ""; PubDate = ""; ManagingEditor = "";

我有一个简单的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>(); 
类RSSSourceData
{
公共字符串RSSVersion;
公共名称;
公共字符串信道链接;
公共字符串描述;
公共字符串类别;
公共字符串版权;
公共字符串语言;
公共字符串PubDate;
公共字符串管理编辑器;
公共列表NewsTitle=新列表();
公共列表新闻链接=新列表();
public List NewsDescription=新列表();
私有字符串联机源;
私有字符串文件处理;
私有列表FileContent=新列表();

(…方法在此出现)

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

因此,如果需要更改初始值,则需要深入了解源代码


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

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

一个很长的答案是,它真的很难维持

  • 为什么这个类/ctor一次要维护这么多状态
  • 是否有任何属性/字段依赖于以前的属性/字段初始化
  • 当它变长时,如何确保不丢失protperty/字段或重复初始化
  • 这个类仍然遵循高内聚性吗
  • 如果是数据合同类,是否可以自动生成

  • 或者只是在声明字段和属性的地方初始化它们。最重要的因素是代码行数,请尝试删除一行或两行,看看它是否得到了响应higher@kennyzx我在一行代码上写了所有东西,分数上升到了67。哈哈,奇怪。为什么在构造函数中分配
    RSSVersion
    ?为什么不使用
    public string RSSVersion=“”;
    相反?我真的不觉得这个“可维护性指数”有用,它很像天气频道中的。高可维护性指数并不意味着代码编写得很好。所谓“状态”是指“属性”?是的,现在就是这样。