什么应该包含在C#编程标准中?

时间:2008-11-07 08:09:55

标签: c# coding-style

我的任务是编写我们部门的C#编程标准(包括指南)。我应该包括哪些标准/指南?我已经从网络上的各种标准中获取了一些内容(以及Code Complete中的各个部分),但我希望听到该领域的开发人员的意见。

我已经有了: 命名约定 - 通用/变量/类/方法/接口/控件

一般编程实践 - 文档(评论等),[WIP]

OO编程实践 - 封装,[WIP]

还有什么有用的?我不应该包括什么?

3 个答案:

答案 0 :(得分:7)

您是否已建议每个人都阅读“Design Guidelines for Class Library Developers”?这涵盖了大部分内容。除此之外,我想要回家:

  • 您应该很少创建自己的结构。不要将它们视为轻量级类。
  • 结构永远不应该是可变的。
  • 字段应始终为私有字段,除了字段类型为不可变的只读字段
  • 如果您确定更简单的解决方案太慢并且有证据,则只尝试无锁编程!
  • 可读性为王
  • 了解文化问题 - 特别是阅读微软的String Handling Recommendations

当我想到它们时,我会添加更多...

答案 1 :(得分:2)

有关如何处理名称空间,程序集/项目/解决方案命名约定,文件命名约定的信息。项目分组(例如,你有项目和项目,它们是否在同一个文件中?)

  • 文件名指南
  • 命名空间命名/组织指南
  • 设计&建筑指南,例如使用接口创建louse coupeling并制作单元测试eaiser(用于依赖注入和模拟)
  • 关于什么时候应该重构的建议(长方法等)
  • 为参数命名和包装
  • 单元测试指南(如果您使用它)和嘲笑
  • 对项目进行分组(例如,您有一个类的通用和非泛型实现,它们是否按照命名约定放在同一个文件中或单独的文件中?)
  • 如何处理第三方依赖
  • 推广使用FxCop,StyleCop和其他指标等工具

从我的头脑中只有几件事

答案 2 :(得分:1)

有关源文件中最大方法长度,最大类大小和最大位置的指南非常有用。

此外,您可以设置一些关于缩进和代码布局和内容的指南,但我发现使用Visual Studio中的设置更容易,然后让开发人员导入相同的设置文件。通过这种方式,人们无需考虑这一点,视觉工作室为他们工作。

FXCop和类似的工具也可以自动检查最佳实践。因此,通过仅提供可检查您关注的所有规则的FXCop文件来分发有关该指南的指南是有用的。不要在现有的大型代码库中引入大型FXCop支票,但试图在一段时间内增加支票,这样人们就不会受到1000次FXCop错误的影响

简而言之:

尽量缩短指南,只包括非常重要的内容。使它们易于阅读(您可以将命名约定编写为示例类,例如,您可以使用带有文本的一些额外框来突出显示所有规则)并使用工具自动执行检查,以便开发人员可以轻松获得早期反馈。