【问题标题】:Should a local const variable start with Upper or lower casing本地 const 变量应该以大写还是小写开头
【发布时间】:2011-04-19 17:49:48
【问题描述】:

StyleCop 和 Resharper 之间存在样式冲突。 Stylecop 1303 说 const vars 应该以大写开头,我同意。 Resharper 对类范围的 const 声明说 OK,但是当在本地(例如方法)范围内使用 const 时,Reshaper 不同意并希望将所有内容都设为 camelCasing。

在 R# 中禁用此规则当然没有问题,但此规则背后的原因可能是什么?有人有什么想法吗?

【问题讨论】:

    标签: c# resharper stylecop


    【解决方案1】:

    如果您下载 Stylecop for Resharper,那么它会附带一个 Resharper 设置文件,可以为您解决此问题。这也是让 Resharper 帮助您遵守 Stylecop 的好方法:

    http://stylecopforresharper.codeplex.com/

    【讨论】:

    • @Marcel de Kleine 您是否导入了设置文件?安装插件时不会自动发生。无论如何,我仍然会坚持使用 StyleCop 设置——这就是您使用 StyleCop 的目的。如果您已导入该文件,则可能值得在 S4R 上提交一个错误,让他们知道他们需要覆盖其他内容:)
    • 我导入了设置文件,但仍然存在冲突,所以将按照您的建议进行操作,以便他们解决此问题。
    • @Marcel de Kleine:您可以在 R# 中更改规则(ReSharper->Options->Languages->Common->NamingStyle->LocalConstants)。我已经这样做了。
    • 我不明白为什么这被标记为答案。它没有回答所提出的问题。
    【解决方案2】:

    在这种情况下,我会坚持使用 R# 解释(在本地范围内,一切都应该是 lowerCamelCase)。

    这很大程度上是一个习惯问题,因为我通常从一个变量开始,在我完成方法之后,如果相应的 R# 智能标签向我推荐这个,我可能会将 var 更改为 const。

    但正如所指出的,重要的是在整个团队中保持一致......

    托马斯

    【讨论】:

    • 虽然我同意,但一致性很重要,使用 StyleCop 意味着您已选择遵循 StyleCop 规则。这意味着您最好更改 Resharper 配置而不是禁用规则。
    • 嗯?没有“StyleCop 规则”之类的东西。 StyleCop 只是一个可配置和可扩展的文本检查工具,它预先配置了 Microsoft 规则。无论如何:是什么让您认为 StyleCop 应该是“正确的”而 R# 应该是“错误的”?
    • StyleCop 中许多关于代码格式的决定可以被视为任意的。有些有很好的推理,有些只是选择一种风格并坚持下去的例子。大多数规则不能以一种方式或另一种方式配置,因此选择 Resharper 的默认值而不是 StyleCop 意味着您将不再让 StyleCop 检查您的代码是否一致。使用 StyleCop 的目的是确保代码看起来都一样,并避免“哪个是最好的”参数。并不是说 StyleCop 一定比 Resharper 好,只是使用 StyleCop 执行起来更容易。
    【解决方案3】:

    我认为 StyleCope 是用大小写来区分类和方法范围的。

    【讨论】:

    • 嗯?这意味着所有类范围的字段也将是 UpperCamelCase...
    • 不要diss我——我没有制定规则。
    • 你没有制定规则,当然......但无论如何你应该考虑它们;-)
    【解决方案4】:

    我敢肯定,几乎每个人都有这方面的想法,而且这些想法很少同步。找到你的口味并坚持下去。 Re# 之类的都是建议。你和你的同事应该就某件事达成一致,这是最重要的。

    【讨论】:

      猜你喜欢
      • 2023-02-11
      • 2012-06-08
      • 1970-01-01
      • 2021-01-29
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      • 2011-11-07
      • 1970-01-01
      相关资源
      最近更新 更多