我们正在将项目从C#2.0/VS2005升级到C#3.0/VS2008.作为升级的一部分,我们在编码标准文档中添加了一些项目.
从C#2.0/VS2005升级到C#3.0/VS2008时,您将如何(或确实)更改编码标准文档?
您可以/应该给出以下建议:
何时使用查询表达式vs点表示法
对lambda表达式的使用有任何限制(例如"不要修改捕获的变量)."这当然也适用于C#2中的匿名方法.)
何时编写扩展方法
何时使用隐式类型变量(var
)
最后两个引起了一些争议,特别是var
.
如果您的约定提供任何设计指南,我建议您还建议程序员考虑使用委托进行专业化,而以前他们可能已经使用了继承或接口.一个很好的例子就是排序 - 使用投影指定排序顺序比编写实现更简单(也更易读)IComparer
.