有什么方法可以摆脱我的.cs文件顶部的一长串使用方法?
随着我在解决方案中获得越来越多的名称空间,文件顶部的using语句列表越来越长。在单元测试中尤其如此,对于每个可能被调用的组件,我都需要包括对接口,IoC容器和具体类型的使用。
在我的集成测试文件中有17行以上的用法,这简直是一团糟。有谁知道是否有一种方法可以使用语句为我的基础定义宏?还有其他解决方案吗?
解决方案
回答
Resharper Visual Studio加载项具有一项功能,该功能可从文件中删除未使用的Using的,但是我不知道有什么功能可以完全满足描述。
回答
有些人喜欢将用法隐藏在#region中。否则,我认为我们不走运。除非我们想将命名空间放在所有引用对象上。
回答
Does anyone know if theres a way to define a macro for my base using statements?
我们是说经常使用的名称空间会自动添加到每个新类中吗?如果是的话,Resharper也可以做到这一点。另外,它具有将使用情况放在代码清理区域中的功能。 Resharper可能是要走的路(根据我的经验,我们不会后悔的)。
回答
我知道我不应该大声说出来,但是,也许要重新考虑设计。
1个文件中使用17个=大量耦合(在名称空间级别)。
回答
我受不了自己的救赎。但是我也不能忍受使用语句的混乱。我使用VS的Power Commands加载项,该加载项具有方便的" remove and Sort" using语句命令(除其他优点外)。
回答
VS2008添加了"组织使用"上下文菜单,该菜单具有"排序","删除"和"删除和排序"选项,这些选项可以针对每个文件执行所需的操作。 Visual Studio Power Commands加载项在解决方案资源管理器中为项目和解决方案添加了一个上下文菜单,该菜单分别是项目中所有文件和解决方案中所有项目的"删除和排序"。
回答
在VS2008中,我们可以右键单击CS文件,然后选择"组织使用"。它将删除未使用的使用并将它们也分类。除此之外,我只会使用#region。同样,在设计时,CTRL + M + O将折叠所有区域功能,等等。我用这个捷径很多!
回答
如果要更改创建新文件时使用的默认使用语句,请查看C:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Code \ 1033目录。它包含一堆zip文件,我们可以修改这些zip文件来更改代码文件的模板(显然,向上移动目录结构可以更改其他语言或者其他类型的文件)。
浏览此处获取更多信息。
回答
这里有四个可能的问题。
代码中的名称空间对类的划分过于精细。例如,如果有的话;
using MyCompany.Drawing.Vector.Points; using MyCompany.Drawing.Vector.Shapes; using MyCompany.Drawing.Vector.Transformations;
考虑将它们折叠到单个MyCompany.Drawing.Vector
命名空间。我们可能并没有因为分得太多而获益。 Visual Studio Code Analysis / FxCop为此具有一个规则,即检查命名空间中的类数。太少了,它会警告我们。
我们在同一个类中进行了过多的测试。如果要在同一类中引用" System.Data"," System.Drawing"和" System.IO",请考虑编写更多的原子测试-有些访问数据库,一些绘制图像,有些访问文件系统。然后将每种类型划分为三个测试类。
我们正在编写做得太多的测试。如果要引用很多命名空间,则测试可能会将太多的功能耦合在一起。这种耦合通常很容易出错,因此请尝试将较大的,广泛的功能分解为较小的部分,然后在单独的文件中进行测试。
许多是多余的。它们是否全部使用,还是只是从其他文件复制粘贴而来。右键单击代码编辑器,然后从"组织使用"选项中选择以删除未使用的语句。
回答
使用别名可能会有所帮助。不确定是否值得,而不是:
using System.Web.UI; using System.Web.Mail; using System.Web.Security; ... Control ... ... MailMessage ... ... Roles ...
我们可以使用:
using W = System.Web; ... W.UI.Control ... ... W.Mail.MailMessage ... ... W.Security.Rolse ...