c# - 是否存在 foo=foo 有意义的有效情况?

标签 c# refactoring legacy

在我继承的 C# 项目上清理了一些警告,我发现了这个代码片段:

private bool _WriteValue(object FieldValue,..,..)
  ...
  if(MultipFactor!=1)
     FieldValue=((double)FieldValue)*MultipFactor;
  else
    FieldValue=FieldValue;

我显然没有想太多就烧掉了 else block ,只是想知道为什么以前的程序员离开了那部分。

  • 是不是懒得删除它?
  • 对于某些 future 的程序员来说,在特定更改的情况下节省一些输入是一种礼貌吗?
  • 它是否隐藏着危险的东西?

在您看来,是否存在 foo=foo 有意义的有效情况?


关于 _WriteValue 方法的更多细节:

_WriteValue 方法被包装到不同的重载 WriteValue 方法中,传递给 object FieldValue 参数,值有以下类型: intlongstringDatetime

最佳答案

如果 FieldValue 是一个属性,set 运算符可以触发一些代码,所以在这种情况下自赋值有意义吗?!

一个例子是:

public string FieldValue
{
    get
    {
        return _fieldValue;
    }
    set
    {
        _fieldValue = value;
        Trace.WriteLine( string.Format("Received value '{0}'.", value ) );
    }
}

(我的回答是在发帖者添加 FieldValue 实际上是方法参数的信息之前给出的,而不是我最初假设的属性)

关于c# - 是否存在 foo=foo 有意义的有效情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5179590/

相关文章:

c# - 返回自定义结果的单元测试 ASP.NET Web API 2 Controller

java - 基于不同服务构建请求的最佳方式/模式

refactoring - 重写遗留代码

java - 打破本地依赖以单元测试无效方法

legacy - 将旧的遗留 Web 应用程序转移到新的应用程序时的最佳实践是什么(特别是关于断开的链接问题)?

c# - 这个扩展方法线程安全吗?

c# - 读取 xml 并将其存储在字符串中

c# - Windows 和事件订阅 (WPF)

java - 重构。当代码仅相差一行时复制粘贴代码

c++ - 如何合并两个具有相同代码但在不同结构上运行的类