编码风格-应该包含在C#编程标准中的内容
本文关键字:标准 编程 风格 包含 编码 | 更新日期: 2023-09-27 17:48:49
我的任务是编写我们部门的C#编程标准(包括指南)。我应该包括什么样的标准/指南?我已经从网络上的各种标准中获得了一些内容(以及CodeComplete中的一些内容),但我希望听到该领域的开发人员的意见。
我已经:命名惯例-通用/变量/类/方法/接口/控制
通用程序设计实践-文档(注释等),〔WIP〕
OO编程实践-封装
还有什么有用的?我不应该包括什么?
您是否已经建议每个人阅读"类库开发人员的设计指南"?这涵盖了大部分内容。除此之外,我想重提一下:
- 您应该很少创建自己的structs。不要把它们看作是轻量级的类
- 结构永远不应该是可变的
- 字段应该始终是私有的,除了字段类型不可变的只读字段
- 只有当你确信一个更简单的解决方案会太慢并且有证据的时候,才可以尝试无锁编程
- 可读性是王道
- 注意文化问题,特别是阅读微软的字符串处理建议
我会随着我的想法添加更多。。。
有关如何处理命名空间、程序集/项目/解决方案命名约定、文件命名约定的信息。。项目分组(例如,您的项目和项目都在同一个文件中吗?)
- 文件名准则
- 命名空间命名/组织准则
- 设计&体系结构指南,例如使用接口创建louse coupeling和制作单元测试eaiser(例如依赖注入和mocking)
- 关于何时应该重构的建议(长方法等等)
- 参数的命名和套管
- 关于单元测试(如果你使用的话)和嘲讽的指导原则
- 项的分组(例如,您有一个类的泛型和非泛型实现,它们是按照命名约定放在同一个文件中还是放在不同的文件中?)
- 如何处理第三方依赖关系
- 推广FxCop、StyleCop等工具和其他指标的使用
只是我脑海中浮现的几件事
此外,您可以设置一些关于缩进和代码布局之类的指导原则,但我发现在Visual Studio中使用设置更容易做到这一点,然后让您的开发人员为此导入相同的设置文件。这样一来,人们就不必考虑这一点,视觉工作室为他们做这项工作。
FXCop和类似的工具也可以自动检查最佳实践。因此,通过提供FXCop文件来检查您关心的所有规则,来分发有关这方面的指导方针是有用的。不要在现有的大型代码库中引入大型FXCop检查,尽管要尝试在一段时间内增加检查,这样人们就不会受到1000个FXCop错误的影响
简而言之:
尽量缩短指导方针,只包括真正重要的事情。使它们易于阅读(你可以编写命名约定作为一个示例类,例如,你可以用一些带有文本的额外框来突出显示所有规则),并在可能的情况下使用工具来自动检查,以便开发人员获得简单而早期的反馈。