如何提高公司的编码风格标准?以C #为例。
我想不同开发人员之间存在许多差异需要考虑,具体因素可能包括教育、经验和过去使用的编程语言。
如何证明某种方式比其他方式更正确?
一个人可能会说:“我用我的四轮车移动到挣钱的地方”。那么为什么说“我开车上班”更“正确”呢?
有些人可能喜欢代码更加明确,有更多的代码行。有些人可能喜欢更紧凑的代码。
// Explicit
string text = defaultValue;
if (string.IsNullOrEmpty(text)) {
text = fallbackValue;
}
// Tighter
string text = defaultValue ?? fallbackValue;
或者是旧的防护编程风格,其中您在开始时检查错误情况而不是将整个方法体包装在一个正向if语句内:
public string ChangeText(string text)
{
if (!string.IsNullOrEmpty(text))
{
// Do a lot of stuff
}
else {
throw new Exception();
}
}
// vs.
public string ChangeText(string text)
{
if (string.IsNullOrEmpty(text)) {
throw new Exception();
}
// Do a lot of stuff
}
在这里,旧有的“我阅读代码有困难”是否有效?这种情况与将泛型引入C#时相同,人们起初阅读时会遇到麻烦。
可读性差的代码和一些开发者不习惯的代码之间如何划分界限?
Phil Haacks的"新语言关键字悲伤的七个阶段"哪些部分在此具有有效观点?
公司是否有任何简单的方法来制定编码标准并在公司内执行?
更新:请考虑变量命名等无法在文档中明确定义的事项。或者可以吗?