我们正在将项目从C#2.0 / VS2005升级到C#3.0 / VS2008。作为升级的一部分,我们在编码标准文档中添加了一些项目。
从C#2.0 / VS2005升级到C#3.0 / VS2008时,您将如何(或确实)更改编码标准文档?
答案 0 :(得分:7)
您可以/应该提供以下建议:
var
)最后两个引起争议,特别是var
。
如果您的约定提供了任何设计指南,我建议您还建议程序员考虑使用委托进行专业化,而以前他们可能已经使用了继承或接口。一个很好的例子就是排序 - 使用投影指定排序顺序比编写IComparer<T>
的实现更容易(也更易读)。
答案 1 :(得分:2)
升级恰逢新项目,所以当我们搬家时,我们开始使用StyleCop和FxCop等工具来改变我们的编码标准。它也可以轻松地执行它们:o)
答案 2 :(得分:1)
由于升级,任何事情都不应该改变,尽管您可能需要查看围绕新功能的编码标准,例如LINQ表达式,布局,Lambda与查询语法。
答案 3 :(得分:1)
我个人的烦恼是var
在任何可能的地方使用。
“可能”目前被定义为以下情况之一,主要是为了降低整洁度:
很明显,帮助DRY:
var obj1 = new Something();
var obj2 = (Something)ObscureFunction();
var obj3 = ObscureStuff() as Something;
守卫,只要它编译我就不在乎了:
var obj4 = ObscureFunction();
foreach(Something s in obj4) { ... }
复杂泛型和几乎所有LINQ结果:
var obj5 = ctx.GetQuery<Something>()..ToList(..)..GroupJoin(..)...ToLookup(...);
答案 4 :(得分:0)
我对2008年新功能的标准: