在这种情况下,谨慎(啥都不做)是勇气(猜测)的更好部分吗?
Posted
技术标签:
【中文标题】在这种情况下,谨慎(啥都不做)是勇气(猜测)的更好部分吗?【英文标题】:Is Discretion (doing nothing) the better part of valor (making a guess) in this case?在这种情况下,谨慎(什么都不做)是勇气(猜测)的更好部分吗? 【发布时间】:2014-04-26 01:28:04 【问题描述】:R# 告诉我永远不会分配 var。
我在想,“如果是这种情况,那就去掉它 - 删除声明。”但是 R# 的建议是不同的和多种多样的:
我应该转动哪个旋钮,还是应该保持平足和苍白的闲逛?
注意:这段代码不是我设计或编写的,所以我不知道意图是什么;其中有一些非常奇怪的 Rube Goldbergesque “行为”;打个比方,我害怕从堤坝上拔出一根手指,或者把压断单峰骆驼脊椎的稻草连起来。
【问题讨论】:
+1 用于史诗般的英语使用。 【参考方案1】:如果您不确定要更改的内容,请不要更改!特别是如果您认为它可能会破坏某些东西(我建议在进行任何更改之前先测试代码)
ReSharper 向您发出警告 - 您完全可以忽略它。您可以更改检查的严重性以显示为提示,或根本不显示。或者您可以添加特殊的 cmets,例如:
// ReSharper disable UnassignedField.Compiler
和
// ReSharper enable UnassignedField.Compiler
这将禁用 cmets 之间的这些警告。 “'Unassigned field' 检查的选项”子菜单将具有为您生成 cmets 的选项。
【讨论】:
【参考方案2】:如果 ReSharper 告诉您该字段未分配,但未提供帮助您删除它,那将是由于该字段未分配,但它是 参考。
使用“查找用法”查找对该字段的所有引用。然后,记住该字段将始终具有其默认值 (false
),问问自己是否不应该将所有对该字段的引用替换为文字值 false
。
在您完成对字段的所有引用之后,我相信 ReSharper 会提议让您删除未使用的字段。
【讨论】:
如果字段始终具有相同的值,则将其更改为常量可能有意义。以上是关于在这种情况下,谨慎(啥都不做)是勇气(猜测)的更好部分吗?的主要内容,如果未能解决你的问题,请参考以下文章