编码指南+最佳实践?
我找不到任何直接适用于我的查询的问题,因此我将此作为一个新问题发布。 如果有任何可能对我有帮助的讨论,请指出并结束问题。
题:
我将介绍C#编码指南,但不应限制编码标准。
所以我有一个粗略的想法,但我认为我需要解决良好的编程实践。 所以内容将是这样的。
-
基本编码标准 – 套管,格式化等
-
良好实践 – 使用Hashset优于其他数据结构,String vs String Builder,字符串的不变性以及有效地使用它们等
真的,我想添加更多好的做法(特别是为了提高性能。)所以想听听一些与C#一起使用的更好的做法。 有什么建议??? (不需要大的描述:)只是这个想法就足够了。)
CSharp 3.0和4.0的编码指南
IDesign编码标准
Lance Hunt的C#编码标准
Brad Abrams的内部编码指南
不出所料,我刚刚发现了一个问题: C#编码标准/最佳实践
以下是一些提示:
- 使用FxCop进行静态分析。
- 使用StyleCop进行编码样式validation。
- 由于值类型的语义不同,请在IDE中为它们提供替代颜色(转到工具/选项/环境/字体和颜色/显示项目,并为值提供用户类型(枚举)和用户类型(值类型)喜欢#DF7120 [223,113,32])。
- 因为exception往往会在代码中显示错误,所以让IDE中断所有exception。 (转到Debug / Exceptions … / Common Language Runtime Exceptions并检查Throw )。
- 项目设置:禁止不安全的代码。
- 项目设置:威胁警告为错误。
- 项目设置:检查算术溢出/下溢。
- 将变量用于单个明确定义的目标。
- 不要使用魔术数字。
- 写简短的方法。 方法应该只包含一个抽象级别。
- 方法永远不会太小(20行的方法被认为是相当大的)。
- 一种方法应该保护自己免受不良输入。
- 考虑使类型不可变。
- 不要使用pragma warning disable来禁止代码中的警告。
- 不要评论坏代码:重写它。
- 在代码中明确记录为什么要吞下exception。
- 请注意连接字符串的性能影响。
- 永远不要使用goto语句。
- 早早失败,快失败。
我正在使用Microsoft的开发类库的设计指南 。 我认为从一开始就很好。
-
基本编码标准 – 确保它是一致的。 即使他们不遵循msdn中本文档中规定的约定。 我认为一致性在这里非常重要。
-
unit testing – 你不能在这里出错。
-
安全性 – 谈论确保如果您传递敏感数据,那么它是安全的。
-
性能 – 你知道,我个人觉得让应用程序正确然后看性能就是我的工作。 在编写代码时,我确实在脑海中拥有它,所以最后会有一些很好的调整。