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






4.34/5 (32投票s)
我在过去几年里学到的一些C#最佳编码实践
几天前,在我之前的一篇文章中,我讨论了“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日 - 要点的解释
这些要点的解释已作为一篇文章发表。 在这里阅读它。
如果您有任何其他要点要包含在本文中,我将不胜感激。 CodeProject