Juval Lowy 的 C# 编码标准问题

2024-04-09

我喜欢并强烈推荐朱瓦尔·洛伊 http://www.idesign.net - C# 编码标准 http://www.idesign.net/Downloads/GetDownload/1985。 Juval 明确避免了每个指令的基本原理,以保持标准的严格性(参见前言)。然而,我发现自己对一些指令的基本原理感到好奇。

Lowy 的 C# 标准中的以下指令的具体原理是什么?
希望这些问题有硬性(非主观)答案。

1.13 避免使用完全限定的类型名称。请改用“using”语句。
这是性能问题吗?有时我只需要一个完全限定名称的实例并添加一个using看起来很重。

1.26 在无参数匿名方法上使用空括号。仅当匿名方法可用于任何委托时才省略括号。
其实我只是对第二句话感到困惑。举例说明会有所帮助,谢谢。

2.19 避免定义自定义异常类
减少其数量的考虑因素是什么? (如果你确实定义了它们,他接下来会给出指导方针(在 2.20 中)。)

2.29 避免使用三元条件运算符
太难让读者消化,还是有其他考虑?

2.31 避免在布尔条件语句中调用函数。分配到局部变量并检查它们。
我不认为我会这样做,但我很好奇......为什么不呢?

2.47 避免与一名成员接触。
因为做什么总是/通常更可取?一种方法接口何时工作?

2.53 更喜欢使用显式接口实现
为什么?还,乔恩·斯基特不同意这一点 https://stackoverflow.com/questions/408415/why-explicit-interface-implementation.

提前致谢! 罗伯特


2.29 避免使用三元条件运算符我对三元运算符的“简单”使用没有问题,但建议不要以嵌套方式使用它:

// This is fine
x := (conditionA) ? true_resultA : false_resultA;

// This would probably be clearer using if-then-elseif
x := (conditionA) ? 
       ((conditionA1) ? true_resultA1 : (condition2) ? true_result2 : false_result2) :
       ((conditionA2) ? true_resultA2 : false_resultA2);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Juval Lowy 的 C# 编码标准问题 的相关文章

随机推荐