在浏览了伟大的书“框架设计指南”(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?框架设计指南?完全忽略风格?烘焙自己的风格?