【发布时间】:2017-05-05 08:53:59
【问题描述】:
这是我的初始方法
public String GetAllDocuments(string url,int pager =0)
{
if (SessionInfo.IsAdmin)
{
ReportHandler dal = new ReportHandler();
var documents = dal.FetchDocumentsList(SessionInfo.ClientID, pager);
string documentsDataJSON = JsonConvert.SerializeObject(documents);
return documentsDataJSON;
}
else
{
return "Sorry!! You are not authorized to perform this action";
}
}
Visual Studio 显示以下代码指标:-
成员:GetAllDocuments(string, int) : string
可维护性指数:67
圈复杂度:2
类耦合:7
代码行数:7
所以为了改进它,我修改了我的方法如下:-
public String GetAllDocuments(string url,int pager =0)
{
ReportHandler dal = new ReportHandler();
var documents = dal.FetchDocumentsList(SessionInfo.ClientID, pager);
//moved the JSON Conversion to Separate class
string documentsDataJSON = JsonHandler<T>.ConvertToJSON(documents);
return documentsDataJSON;
}
但它仍然将代码指标显示为
成员:GetAllDocuments(string, int) : string
可维护性指数:72
圈复杂度:1
类耦合:5
代码行数:5
我不能提交这个,除非可维护性指数是 90+。
我还能做些什么来改进代码指标。
另外,我正在考虑为这么小的事情创建单独的方法/类不是开销
【问题讨论】:
-
你考虑过使用 DI 还是 IoC?
-
这个问题太宽泛了。该解决方案通常基于对类设计的重大重构以减少类耦合。无论如何,你应该看看依赖注入。
-
代码指标?让我休息一下……
标签: c# asp.net performance visual-studio code-metrics