编码风格-应该包含在C#编程标准中的内容

本文关键字:标准 编程 风格 包含 编码 | 更新日期: 2023-09-27 17:48:49

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

我已经:命名惯例-通用/变量/类/方法/接口/控制

通用程序设计实践-文档(注释等),〔WIP〕

OO编程实践-封装

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

编码风格-应该包含在C#编程标准中的内容

您是否已经建议每个人阅读"类库开发人员的设计指南"?这涵盖了大部分内容。除此之外,我想重提一下:

  • 您应该很少创建自己的structs。不要把它们看作是轻量级的类
  • 结构永远不应该是可变的
  • 字段应该始终是私有的,除了字段类型不可变的只读字段
  • 只有当你确信一个更简单的解决方案会太慢并且有证据的时候,才可以尝试无锁编程
  • 可读性是王道
  • 注意文化问题,特别是阅读微软的字符串处理建议

我会随着我的想法添加更多。。。

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

  • 文件名准则
  • 命名空间命名/组织准则
  • 设计&体系结构指南,例如使用接口创建louse coupeling和制作单元测试eaiser(例如依赖注入和mocking)
  • 关于何时应该重构的建议(长方法等等)
  • 参数的命名和套管
  • 关于单元测试(如果你使用的话)和嘲讽的指导原则
  • 项的分组(例如,您有一个类的泛型和非泛型实现,它们是按照命名约定放在同一个文件中还是放在不同的文件中?)
  • 如何处理第三方依赖关系
  • 推广FxCop、StyleCop等工具和其他指标的使用

只是我脑海中浮现的几件事

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

此外,您可以设置一些关于缩进和代码布局之类的指导原则,但我发现在Visual Studio中使用设置更容易做到这一点,然后让您的开发人员为此导入相同的设置文件。这样一来,人们就不必考虑这一点,视觉工作室为他们做这项工作。

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

简而言之:

尽量缩短指导方针,只包括真正重要的事情。使它们易于阅读(你可以编写命名约定作为一个示例类,例如,你可以用一些带有文本的额外框来突出显示所有规则),并在可能的情况下使用工具来自动检查,以便开发人员获得简单而早期的反馈。