编码指南+最佳实践?

时间:2010-05-07 07:55:08

标签: c# performance programming-languages coding-style

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

问题:

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

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

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

  2. 良好做法 - 使用Hashset优于其他数据结构,String vs String Builder,String的不变性并有效地使用它们等

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

4 个答案:

答案 0 :(得分:21)

答案 1 :(得分:10)

以下是一些提示:

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

答案 2 :(得分:4)

我正在使用微软的Design Guidelines for Developing Class Libraries。 我认为从一开始就很好。

答案 3 :(得分:1)

  • 基本编码标准 - 确保一致。即使他们不遵守this document on msdn中规定的惯例。我认为一致性非常重要。

  • 单元测试 - 你不能在这里出错。

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

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