c# - 方法中的方法中的方法c#

标签 c# visual-studio methods

有很多方法互相引用是不是很糟糕,就像下面的例子一样?

public void MainMethod()
{
   GetProducts();  
}

public void GetProducts()
{
   var _products = new Products();
   var productlist = _products.GetProductList;
   GetExcelFile(productlist);
}

public void GetExcelFile(List<product> productlist)
{
   var _getExcelFile = new GetExcelFile();
   var excelfile = _getExcelFile.GetExcelFileFromProductList(productlist);

   //create excel file and so on...
}

所以我正在为每一个小 Action 创建一个新方法。从 MainMethod 调用 GetProducts 并在该方法中执行所有操作也同样容易,但我认为这不是方法创建可重用的代码。

下面的内容告诉我,一个方法中的语句不应超过 7 条:

Only 7 statements in a method

因此,使用最少代码量的方法的优点:

  • 代码可重复使用
  • 每个任务都有自己的方法

使用最少代码量的方法的缺点:

  • 就像意大利面条代码
  • 你得到:引用引用等等

我的问题:

我的方法应该更大,还是应该继续创建小方法,这些方法作用很少并引用很多其他方法?

最佳答案

指导方针是正确的。方法应该很小,并且您正在做正确的事情,不仅为每个操作提供了自己的方法,而且还为每个操作提供了一个明确定义的名称。如果这些方法有一个明确的名称、一个职责和一个明确的意图(并且不要忘记将命令与查询分开),那么您的代码将不会是意大利面条。最重要的是,尝试像新闻文章一样对方法进行排序:最重要的方法位于文件顶部,最详细的方法位于底部。这样其他人就可以从顶部开始阅读,并在感到无聊(或有足够的信息)时停止阅读。

我可以建议您获取 Robert Martin's Clean Code 的副本。业内没有人比他更清楚地描述这一点。

关于c# - 方法中的方法中的方法c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18440836/

相关文章:

C# : Difference between method types

.net - 从命令行附加Visual Studio调试器

java - new ActionListener(){} 类型的方法 xy(double, ...) 未定义

c++ - 从 VS window c++ 项目迁移到 Linux 项目的最有效方法是什么?

visual-studio - 在 visual studio 2012 团队资源管理器中缺少 "Detect changes"链接

c++ - 在 C++ 中回调类成员

c# - 在列表中保存带有参数的方法调用并执行它们

c# - asp.net c# 中的正则表达式帮助

c# - 如何在asp.net中的按钮单击事件中给出提示消息&之后将页面重定向到另一个页面

c# - 如何在 ASP.NET MVC 3 中限制文件上传为 JPG、PNG 和 GIF