|
1
196
或
|
|
|
2
293
如果类型不明显,则应写出:
|
|
|
3
100
我个人更倾向于关闭这个建议。使用
|
|
|
4
69
例如,不好的命名可能会导致
有时使用它是没有意义的
必须
使用
我建议全权申请
为什么Resharper在默认情况下会使用它?为了方便起见,我建议您使用它,因为它无法解析各种情况的细微差别,从而决定何时最好不使用它。 |
|
5
42
偏爱
如您所见,有一些选项可以调整ReSharper提出的所有建议。希望这能帮助像我这样已经有了“var”使用策略并希望ReSharper尊重它的人:) |
|
|
6
25
“var”是关于清晰的
关于是否使用
谁走了另一条路?杰克还是比尔?在本例中,使用名称“Jake”和“Bill”就像使用类型名称一样。“他”和“他”就像使用
在这种情况下,如果我们使用“他”,并且在某些情况下将他的名字全部省略,这相当于使用
这些例子涵盖了要点,但并不能说明全部情况。在这些例子中,只有一种方式可以指代此人。要么用他们的名字,要么用“他”和“他”这样更一般的词。 对于代码,我们有3种方法来帮助增加清晰度。类型、变量名和赋值。以这行代码为例:
现在的问题是,这行代码中是否有足够的信息来帮助您了解发生了什么?
现在呢:
或者这个:
关键词是否正确
就我个人而言,我喜欢使用
也就是说,有时根据上下文,我会做出例外,这是任何复杂事物的本质,而软件如果不复杂就什么都不是。 |
|
|
7
24
我很惊讶没有人提到更改实例化对象的类型也更容易,因为
是一个
重复形式
除此之外,可读性的提高是一个重要的方面,但是正如其他人所说的,var不应该被过度使用,所以我认为在Resharper中关闭提示是完全可以的。 |
|
|
8
18
|
|
9
15
的确,ReSharper过度使用了
我曾试图先对其他帖子发表评论,以添加这些帖子的设置位置,但没有这样的名声。显然,我也没有名声发布我的设置截图。 我将解释如何到达那里。 在Visual Studio中>主菜单>再竖琴>选项>代码编辑>C#>代码样式>声明中的Var用法
ReSharper帮助文档: Code Syntax Style: Implicit/Explicit Typing ('var' Keyword) â Configure preferences of using 'var' keyword |
|
|
10
13
我的规则是:
|
|
11
12
|
|
12
6
ReSharper建议
这只是一个速记,应该更容易阅读。 我认为用“new”显式创建新对象很好。但是,在您的示例中,如果类的命名不正确,则可能不太明显。 |
|
13
6
您可以通过“选项”对话框或直接通过该警报的弹出菜单配置每个警报的恼人程度。你可以降级,比如
|
|
14
5
|
|
15
4
Var太棒了!我遇到过很多开发者,他们的印象是
下面是使用var的一些令人惊讶的优点
少打字
然而,有时明确地声明类型很有用,我发现这在原语或结构中最有用。例如,我个人并不认为这种语法非常有用:
vs
这完全取决于个人喜好,但使用
|
|
|
16
3
在我看来,,
例子:
显然
例子:
|
|
|
17
2
x暗示为int,不能为其指定其他值。
|
|
|
18
2
这个
您是否使用
或
除了纯粹的可读性和更少的出错机会。
返回一个
返回一个
|
|
|
19
2
指定显式对象类型在某种程度上是多余的。即使翻译成英语,它听起来也是多余的:“将X类型的对象放入X类型的变量”和“将X类型的对象放入变量”。 然而,使用“var”有其局限性 局限性 多态性 纯美
相同的代码,x用'var'声明 不会编译
无论如何,回到最初的问题,我不使用Resharper,但我假设它足够聪明,可以检测何时不使用“var”。:-) |
|
|
20
1
如果GetTheObjectFromDatabase()的返回类型从类型A更改为B,我们将不会注意到,因为这两个类都实现DoSomething()。然而,代码现在实际上可能会做一些完全不同的事情。 这可能和在日志中写入不同的内容一样微妙,所以你可能不会注意到unitl,现在已经太晚了。 以下var的使用应始终正确:
|
|
21
1
|
|
|
22
0
没有技术上的区别(正如伊渥尔人所指出的)。您可以使用其中一个,生成的CLR代码看起来是一样的。 在我看来,主要的好处是这会迫使您使用更好的变量命名。在您的示例中,“foo”对于变量名来说是一个非常糟糕的选择。 |
|
23
0
根据JetBrains(ReSharper的作者)的说法,他们鼓励默认情况下使用var。
|