2008-11-07 36 views
2

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

我已经有了: 命名约定 - 一般/变量/类/方法/接口/控制

通用编程实践 - 文件(意见等),[WIP]

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

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

回答

7

您是否已经建议大家阅读“Design Guidelines for Class Library Developers”?这涵盖了它的大部分。除此之外,我想锤回家:

  • 你应该很少创建自己的结构。不要认为它们是轻量级的。
  • 结构不应该是可变的。
  • 字段应该始终是私有的,除了只读字段,其中字段的类型是不可改变的
  • 只尝试无锁编程,如果你确信一个简单的解决方案将是太慢了 - 而且有证据!
  • 可读性为王
  • 注意的文化问题 - 尤其是阅读微软的String Handling Recommendations

我来补充,因为我觉得他们更多...

2

如何处理的命名空间信息,组装/项目/解决方案命名约定,文件的命名规则..分组项目(例如你的项目和项目是否都在同一个文件中?)

  • 文件名准则
  • 命名空间命名/组织的准则
  • 设计&架构的指导方针,如使用接口来创建虱子coupeling并且使单元测试eaiser(用于如依赖注入和嘲弄)
  • 请教时,事情应该是重构(长方法等)
  • 命名和外壳的参数
  • 单元测试(如果使用的话)和嘲讽项目
  • 分组(例如您的
  • 指南同时包含通用和非generi c实现一个类是否按照命名约定在相同的文件或单独的文件中进行?)
  • 如何处理第三方依赖
  • 促进使用类似的FxCop,了StyleCop和其他指标

从我头上

1

指南上最大方法的顶部只是一对夫妇的事情工具长度,最大类大小和源文件中的最大loc是有用的。

此外,您可以设置缩进和代码布局和内容的一些准则,但我发现它更容易只是在Visual Studio设置做到这一点,然后让开发商导入相同的设置文件这一点。这样人们就不必考虑这个问题,视觉工作室就为他们完成工作。

最佳实践可以自动太受的FxCop和类似的工具来检查。因此,仅通过使FXCop文件可用来分发您关心的所有规则,就可以分发有关指南。不要在一个大的现有的代码库引进大的FxCop检查,但尝试爬升经过一段时间的检查,所以人们不得到与FxCop的错误,1000年

总之击:

尽量保持准则总之,只包括那些非常重要的事情。使他们很容易阅读(你可以写命名约定作为一个例子一流例如当您高亮显示所有与文本一些额外的框的规则),并使用工具来自动检查,在那里你可以使开发商获得的容易和早期反馈。

相关问题