65.9K
CodeProject 正在变化。 阅读更多。
Home

C#应用程序开发的一些最佳实践

2010年9月20日

CPOL

3分钟阅读

viewsIcon

247862

我在过去几年里学到的一些C#最佳编码实践

image

几天前,在我之前的一篇文章中,我讨论了“Silverlight应用程序开发的一些最佳实践 (XAML)”,它受到了我的读者的热烈欢迎。 我也收到了很多反馈。 社区中的某个人也建议我写一些关于C#的最佳编码实践。 这引起了我的注意,因此我决定根据我过去几年的经验在这里写一些关于C#编码的最佳实践。

在过去的几年里,我学到了很多东西,并试图与那些刚进入软件开发领域的新人分享我所知道的最佳知识。 我将这篇文章贡献给那些同仁。 希望我能在这里得到更多的反馈和/或建议。

当我开始使用.NET技术时,我喜欢C#编程。 我从未尝试用VB.NET编写代码,因为我决定了我的职业生涯。 当我刚进入这个领域时,我犯了很多错误,从这些错误中,我学到了更多的东西。 俗话说:“错误让你学到更多 & 更多……”。我的职业生涯就是其中之一。 还有一句谚语:“活到老,学到老。每时每刻,一个人都可以学习”。因此,如果还有其他建议,请与我分享。 它将帮助我和其他人以正确的方式学习更多。

顺便说一句,互联网上有各种关于同一主题的文章。 如果你用谷歌搜索一下,你会得到很多。 但这些集合是基于我的经验,我所学到的并想分享的。

让我们停在这里,开始讨论C#应用程序开发的最佳编码实践。 这里有一些:

  • 使用适当的命名约定
    • 始终使用Camel或Pascal命名格式
    • 避免使用全大写或小写名称
    • 永远不要使用以数字字符开头的名称
    • 始终为你的类、属性、方法等首选有意义的名称
    • 不要构建仅通过大小写不同的名称
    • 不要使用.NET Framework中使用的相同名称
    • 避免为你的标识符添加前缀或后缀
    • 始终使用“I”作为接口的前缀
    • 始终添加“Exception”作为自定义异常类的后缀
    • 永远不要将类名作为其属性名称的前缀或后缀
    • 为布尔属性添加前缀“Is”、“Has”或“Can
    • 不要为你的控件添加前缀
  • 在值类型和引用类型之间做出决定
  • 始终使用属性而不是public变量
  • 在需要时使用可空数据类型
  • 优先使用运行时常量而不是编译时常量
  • 在强制转换时优先使用“is”和“as”运算符
  • 对于string连接,优先使用string.Format()StringBuilder
  • 在需要时使用条件属性
  • 使用“0”(零)作为默认值enum值类型
  • Equals()Equal (==)运算符之间进行选择
  • 始终优先使用foreach(…)循环
  • 在赋值时初始化成员变量
  • 使用static构造函数初始化static成员变量
  • 尽可能使用构造函数链接
  • 最小化对象的装箱和拆箱
  • 正确利用try/catch/finally
  • 只捕获你可以处理的异常
  • 使用IDisposable接口
  • 在大多数情况下利用LazyInitializer
  • 将你的逻辑拆分为几个小的简单方法
  • 尝试使用像MVP/MVC/MVVM这样的模式 & 实践
  • 始终优先使用DataBinding来填充UI中的值

解释

你可以在这篇文章中阅读解释。

历史

  • 2010年9月20日 - 初始帖子
  • 2010年10月17日 - 要点的解释

这些要点的解释已作为一篇文章发表。 在这里阅读它。

 

如果您有任何其他要点要包含在本文中,我将不胜感激。


© . All rights reserved.