【发布时间】:2010-09-30 09:49:40
【问题描述】:
在阅读好书“框架设计指南”(2008 年 11 月第 2 版)的附录 A“C# 编码风格约定”之后,我对微软内部使用/推荐的编码风格感到很困惑。
博客条目A Brief History Of C# Style 声称:
其实“StyleCop风格”和“Framework Design Guidelines风格”的区别比较小
在我看来,差异非常明显。 StyleCop 说开口大括号应该在单独的一行,框架设计指南说它应该在开始语句之后。 StyleCop 说所有关键字后面都要跟一个空格,框架设计指南说“去掉所有空格”(甚至在二元运算符周围)。
我发现《框架设计指南》一书中的这条规则特别具有讽刺意味(第 366 页,从顶部算起的第 6 条规则):
不要在流控制语句前使用空格
Right: while(x==y) Wrong: while (x == y)
这明确说明 StyleCop 样式错误(while 关键字后有空格,等号二元运算符前后有空格)。
最后,使用 StyleCop 样式格式化的代码与使用 Framework Design Guidelines 样式格式化的代码有完全不同的“感觉”。通过遵循框架设计指南样式,您将不得不禁用一堆规则(并且没有检查是否遵守框架设计指南样式的规则......)。
有人(或许是 MSFT 内部人士?)能否阐明这种分歧?
您的团队是如何处理这个问题的?关注 StyleCop?框架设计指南?完全忽略风格?烘焙自己的风格?
【问题讨论】:
-
好问题。我也想知道这个。
标签: c# coding-style conventions stylecop