编码指南+最佳实践?

我找不到任何直接适用于我的查询的问题,因此我将此作为一个新问题发布。 如果有任何可能对我有帮助的讨论,请指出并结束问题。

题:

我将介绍C#编码指南,但不应限制编码标准。

所以我有一个粗略的想法,但我认为我需要解决良好的编程实践。 所以内容将是这样的。

  1. 基本编码标准 – 套管,格式化等

  2. 良好实践 – 使用Hashset优于其他数据结构,String vs String Builder,字符串的不变性以及有效地使用它们等

真的,我想添加更多好的做法(特别是为了提高性能。)所以想听听一些与C#一起使用的更好的做法。 有什么建议??? (不需要大的描述:)只是这个想法就足够了。)

CSharp 3.0和4.0的编码指南

IDesign编码标准

Lance Hunt的C#编码标准

Brad Abrams的内部编码指南

不出所料,我刚刚发现了一个问题: C#编码标准/最佳实践

以下是一些提示:

  1. 使用FxCop进行静态分析。
  2. 使用StyleCop进行编码样式validation。
  3. 由于值类型的语义不同,请在IDE中为它们提供替代颜色(转到工具/选项/环境/字体和颜色/显示项目,并为值提供用户类型(枚举)用户类型(值类型)喜欢#DF7120 [223,113,32])。
  4. 因为exception往往会在代码中显示错误,所以让IDE中断所有exception。 (转到Debug / Exceptions … / Common Language Runtime Exceptions并检查Throw )。
  5. 项目设置:禁止不安全的代码。
  6. 项目设置:威胁警告为错误。
  7. 项目设置:检查算术溢出/下溢。
  8. 将变量用于单个明确定义的目标。
  9. 不要使用魔术数字。
  10. 写简短的方法。 方法应该只包含一个抽象级别。
  11. 方法永远不会太小(20行的方法被认为是相当大的)。
  12. 一种方法应该保护自己免受不良输入。
  13. 考虑使类型不可变。
  14. 不要使用pragma warning disable来禁止代码中的警告。
  15. 不要评论坏代码:重写它。
  16. 在代码中明确记录为什么要吞下exception。
  17. 请注意连接字符串的性能影响。
  18. 永远不要使用goto语句。
  19. 早早失败,快失败。

我正在使用Microsoft的开发类库的设计指南 。 我认为从一开始就很好。

  • 基本编码标准 – 确保它是一致的。 即使他们不遵循msdn中本文档中规定的约定。 我认为一致性在这里非常重要。

  • unit testing – 你不能在这里出错。

  • 安全性 – 谈论确保如果您传递敏感数据,那么它是安全的。

  • 性能 – 你知道,我个人觉得让应用程序正确然后看性能就是我的工作。 在编写代码时,我确实在脑海中拥有它,所以最后会有一些很好的调整。