有关如何修复此代码异味的任何提示(不是我的代码):
Id = blah== null ? null : something.x ? null : something.y
Run Code Online (Sandbox Code Playgroud)
Perlish 写作在 C# 中被认为是有益的吗?使用多行并清楚是件坏事吗?怎么会有人读到上面的内容?它需要 2 个“if”来分配一个值。
上面有更干净的处理方法吗?
在这种情况下,另一个要考虑的替代方案是:
Id = (blah == null || something.x) ? null : something.y;
Run Code Online (Sandbox Code Playgroud)
好处是只有一个三元是必要的(因此null只从两个中的一个“分支”返回,而不是三个中的两个)。
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |