THE ELEMENTS OF C# STYLE
程序员其实艺术家,灵动的双手如行云流水般在键盘上创造着生命的奇迹,我认为代码是有灵魂的。同一个模块,在每个程序员手中所缔造出来的是不相同的。
最终,这个模块或者实现了最初的业务,但是回过头看看你的作品,你会认为她是你的艺术品,还是她就是一坨Code?
好吧,为了普及C#是最美的编程语言这种思想,我决定写这篇【THE ELEMENTS OF C# STYLE】,欢迎吐槽!
|一般原则
1. 坚持最小惊奇原则
简单性(Simplicity)
用简单的类和简单的方法满足用户期望
清晰性(Clarity)
确保每个类、接口、方法、变量和对象都有清晰的目的,并阐明何时、何处、如何使用它们
完整性(Completeness)
提供任一可能的用户期望找到和使用的最小功能,创建完整的文档,描述所有特性和功能
一致性(Consistency)
相似实体的外观和行为应该相同,不同实体的外观和行为应该不同,应该尽可能制定和遵守相关标准
健壮性(Robustness)
对软件中可能出现的错误和异常做出预测,并将解决方法记入文档,不要隐藏错误,也不要等着用户去发现错误
2. 第一次就做对
3. 记录所有规范的行为
|格式
1. 第一次就做对
1.1. 使用快捷键 Ctrl + K + D 来格式化 .CS 代码
1.2. 在流程控制语句中使用语句块花括号
但若控制体中为以下单句语句,可以不使用花括号
return, break, continue, throw, yield return, goto
if(a<2) return;
2. 类的组织
2.1.使用 .CS 文件右键菜单中顶部的Organize Usings-> Remove and Sort 来整理 using 指令
2.2.使用 #region 将源代码组织到不同区域中
推荐使用ReSharper的 File Structure 窗口方便的管理代码结构(快捷键Ctrl + Alt + F)
一般可以考虑按以下类型和访问级别组织类成员:
#region [Fields]
#region [Embedded Types]
… 这里放public 成员
#region [Protected]
#region [Private Methods]
区域尽量不要嵌套多层
2.3.单独声明每个变量和特性(每行只放一个)
不建议的书写方式:
int a;int b;int c;
|命名
1. 一般原则
1.1. 使用有意义的名称
应该使用对读代码的人来说有意义的名称,避免使用单个字符或太一般性的名称(特别是在方法内部实现中)
1.2. 根据含意而非类型来命名
类型信息一般可从其用法和智能感知中看出来,如:使用Customer 而不是CustomerClass对于UI控件的命名可以加上控件的类型,如:CustomerNameLabel、
FeedBackButton
1.3. 使用熟悉的名称(目标领域通用的术语)
1.4. 不要用大小写来区分名称
虽然编译器区分大小写,但这样会影响代码可读性,如:XMLStream和XmlStream
1.5. 避免使用过长的名称
对象的名称应当足以描述其目的,如果名称过长,可能说明该实体企图实现的功能太多,此时应当考虑是否需要重构
1.6. 加上元音 – 使用完整的单词
不要通过去除元音来缩短名称,这样会降低代码可读性,有时还可能产生歧义
如:不要使用 public Msg AppendSig(),而应该使用 public Message AppendSignature()
1.7. 不要出现拼写错误,第一次就拼对!
2.缩略形式
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/70065.html