ReSharper & Implicitly Typed Variables

14 浏览
0 Comments

ReSharper & Implicitly Typed Variables

我正在使用ReSharper来帮助我发现代码中可能存在的错误,尽管这并不是一个错误,但它一直抱怨我应该使用var关键字而不是在声明时显式地指定变量类型。个人而言,如果我写成

IList someVar = new List();

而不是

var someVar = new List();

我认为对我和任何阅读我的代码的人来说更加清晰明了。既然两种方式之间没有性能差异,我应该忽略这些提示还是坚持使用var关键字?

这只是个人口味问题还是隐式类型化变量的一个好习惯?

0
0 Comments

ReSharper是一个用于提高代码开发效率的工具,它提供了许多有用的功能和功能。其中一个功能是隐式类型变量(Implicitly Typed Variables),即使用关键字“var”来声明变量而不显式指定其类型。

使用隐式类型变量可以简化代码,并且在某些情况下可以提高可读性。然而,有些开发人员更喜欢显式声明变量的类型,因为它们认为这样更易读。

在上述内容中,某些情况下只有当类型声明太长(15个字符以上)时才使用var。否则,显式声明更易读。这表明开发人员对于是否使用隐式类型变量存在不同的偏好。

如果你使用的是Resharper 8.2,并且希望禁用隐式类型变量功能,你可以按照以下步骤操作:

1. 打开Resharper菜单,选择“Options”。

2. 在“Options”对话框中,选择“Code Inspection”。

3. 在“Code Inspection”中,选择“Inspection Severity”。

4. 在“Inspection Severity”中,你可以找到“Language Usage Opportunities”。

5. 在搜索框中输入“Use”,可以帮助你过滤出与使用相关的选项。

6. 找到“Use implicitly typed variables when possible”选项,并将其禁用。

通过以上步骤,你可以禁用Resharper中的隐式类型变量功能,从而在代码中强制使用显式类型声明。

总结一下,隐式类型变量是Resharper提供的一个功能,允许使用关键字“var”来声明变量的类型。然而,不同的开发人员对于使用隐式类型变量还是显式类型声明存在不同的偏好。如果你想禁用隐式类型变量功能,可以通过上述步骤在Resharper中进行设置。

0
0 Comments

ReSharper & Implicitly Typed Variables问题的出现的原因是代码风格的问题。如果右侧的类型显而易见,我倾向于使用var,但如果你不喜欢var,禁用该规则也是可以的。很多程序员更喜欢显式类型的声明。

解决方法是查看Eric Lippert的博客文章Uses and misuses of implicit typing,其中详细讨论了何时使用var是合适的。

0
0 Comments

ReSharper & Implicitly Typed Variables(ReSharper和隐式类型变量)问题的出现有两个原因。

首先,这涉及到DRY原则:不要重复自己。如果将来您决定将变量类型从List<>更改为Stack<>或LinkedList<>,那么使用var关键字只需在一个地方进行更改,否则您将需要在两个地方进行更改。

其次,泛型类型声明可能会很长。Dictionary>>,谁会喜欢这样的写法呢?这对于简单的List并不适用,但是您不应该为不同的对象类型使用两种代码风格。

那么,如何解决这个问题呢?可以使用ReSharper插件来帮助我们自动转换变量类型。ReSharper是一个强大的开发工具,它提供了许多代码重构和自动化功能。其中一个功能就是隐式类型变量,即使用var关键字来自动推断变量类型。

通过使用ReSharper插件,我们可以将上面的代码重构为以下形式:

var dictionary = new Dictionary>>();

这样,我们不再需要手动编写冗长的泛型类型声明,而是通过var关键字让编译器根据变量的初始化值自动推断出变量的类型。

总结一下,ReSharper和隐式类型变量可以帮助我们遵循DRY原则,减少代码冗余,并提高代码的可读性。通过使用ReSharper插件,我们可以自动推断变量的类型,避免手动编写冗长的泛型类型声明。这样,我们可以更专注于解决实际问题,而不是纠结于变量类型的声明。

0