.NET 设计规范--.NET约定、惯用法与模式--附录:C#编程风格约定
1.通用风格约定
1.1 花括号的使用
要把左括号放在前一条语句的末尾
if(someExpression){
DoSomething();
}
要使右括号与左括号所在行的首行对齐,除非花括号内只有一条语句
要把右括号放在新的一行的开始处
考虑把只有一条语句的代码块和左右花括号写在同一行中。属性的访问方法经常使用这种风格
public int Foo{
get {return foo;}
set{foo=value;}
}
考虑把只有一个访问方法的属性的所有的花括号写在同一行中。
public int Foo{get{return foo;}}
要使花括号单独占一行,除非它后面是else、else if 或while。
避免省略花括号,即使编程语言允许这样做
2.空格的使用
要在左括号之后和右花括号之前加一个空格
避免在左花括号之前加空格
要在形式参数之间的逗号后加一个空格
避免在实际参数之间加空格
避免在左圆括号之后或右圆括号之前加空格
不要在成员的名字和左圆括号之间加空格
不要在左方括号之后后右方括号之前加空格
不要在控制流语句之前加空格
避免在二元操作符之前和之后加空格
不要在一元操作符之前或之后加空格
1.3 缩进的使用
要用4个连续的空格符来进行缩进
不要用制表符(tab)来进行缩进
要对代码块中的内容进行缩进
要对case代码块进行缩进,尽管没有使用花括号。
2.命名约定
要在命名标示符时遵循《框架设计标准》中的命名规范,除非是内部字段和私有字段
要在命名名字空间、类型及成员时采用PascalCasing大小写风格,除非是内部字段和私有字段
要用camelCasing大小写风格来命名内部字段和私有字段
要用camelCasing大小写风格类命名局部变量
要用camelCasing大小写风格来命名命名方法的形式参数
不要使用匈牙利命名法
避免给局部变量使用前缀
要使用C#语言中对应的别名,不要使用.NET框架中的类型名
3.注释
不要用注释来描述一些对任何人都显而易见的事
避免使用块注释语法(/*...*/)。即使注释会有多行,也最好是使用单行注释语法(//)
不要把注释放在行尾,除非注释非常短
4.文件的组织
不要在一个源文件中包含一个以上的公有类型,除非有嵌套类,或各个类型之间的不同之处仅在于泛型参数的数量
要用相同的名字来命名源文件及其包含的公有类型
要用相同的层次结构来组织文件目录和命名空间
考虑根据下面给出的顺序和组别来对成员进行分组:所有字段,所有构造函数,公有属性及受保护的属性,方法,事件,所有显示实现的接口成员,内部成员,私有成员,所有嵌套类型,
要把不能公开访问的成员和显示实现的接口成员放在分别放在自己的#region块中
考虑在每个组别内根据字母顺序来组织成员
考虑根据由简单到复杂的顺序来组织重载成员
要把using指令放在名字空间的声明之外
转载于:https://www.cnblogs.com/lufangtao/archive/2012/04/17/2453626.html
.NET 设计规范--.NET约定、惯用法与模式--附录:C#编程风格约定相关推荐
- .NET 设计规范--.NET约定、惯用法与模式--6.为扩展性而设计
6.1 扩展机制 6.1.1 非密封类 密封类即无法派生子类,也无法扩展.与此相反,非密封类可以派生子类进行扩展 //string cannot be inherited from public s ...
- 《.NET设计规范 约定、惯用法与模式》读书笔记
如何写出好的.容易让人阅读的代码,我想是每一位软件工程师必备的技能吧.最近开始看<.NET设计规范>,在以后的时间里,同步更新自己的读书笔记. 转载于:https://www.cnblog ...
- .NET 设计规范--.NET约定、惯用法与模式--5.成员设计
方法.属性.事件.构造函数已经字段统称为成员. 5.1 成员设计的一般规范 5.1.1 成员重载 成员重载是指在同一个类型中创建两个或两个以上的成员,这些成员有相同的名字,唯一不同的是参数的数量或参数 ...
- c++编程求解二元二次方程组_C++编程风格约定
序 C++用法很多,包容性也比较强.一个C++的工程可能包含了各种各样没见过的用法.本篇内容主要是参照谷歌C++标准规范,结合自身实际工作 及经验,整理一份适合平时C++开发的规则,规范自身C++编程 ...
- 《C++编程惯用法——高级程序员常用方法和技巧》——2.9 静态对象的构造
本节书摘来自异步社区出版社<C++编程惯用法--高级程序员常用方法和技巧>一书中的第2章,第2.9节,作者: [美]Robert B. Murray ,更多章节内容可以访问云栖社区&quo ...
- 《C++编程惯用法——高级程序员常用方法和技巧》——2.7 Const
本节书摘来自异步社区出版社<C++编程惯用法--高级程序员常用方法和技巧>一书中的第2章,第2.7节,作者: [美]Robert B. Murray ,更多章节内容可以访问云栖社区&quo ...
- 一些达成共识的JavaScript编码风格约定
如果你的代码易于阅读,那么代码中bug也将会很少,因为一些bug可以很容被调试,并且,其他开发者参与你项目时的门槛也会比较低.因此,如果项目中有多人参与,采取一个有共识的编码风格约定非常有必要.与其他 ...
- c java socket编程_java+swing C/s模式的socket编程与长短连接
java+swing C/s模式的socket编程与长短连接 什么是socket 长连接与短连接 所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要 ...
- 无约束优化问题之Hooke-Jeeves法(模式搜索法)
Hooke-Jeeves法 算法目的 算法特点 算法步骤 例题1 例题2 算法目的 求解无约束优化问题的极小值(最小值). 算法特点 算法步骤中不需要计算目标函数的导数. 算法步骤 例题1 ...
最新文章
- X3650M3 客户端联不上加密狗!
- 如何借助高考热点,微信公众号两天疯狂引流2万+
- Quartz-Trigger详解
- redis操作帮助类
- Java双向链表快速排序_双向链表的插入,删除,以及链表的快速排序
- CPU的高速缓存存储器知识整理
- bow 折叠键盘 linux,bow便携折叠蓝牙键盘体验
- (转)利用AIR的ServerSocket类让 AIR 做socket服务器
- Maven进行Mahout编程,使其兼容Hadoop2.2.0环境运行 (转)
- PADS 改变图纸和图页边界大小
- come back 继工作1年1一个月随想
- 2021夏令营全记录·华科计算机、中科院网络中心、中科院软件所、浙软
- 3分钟速读原著《Java数据结构与算法》(一)
- 2019年中国计算机学会(CCF)推荐国际学术会议-计算机网络(2019.04.25)
- 超级短信 handcent sms v4.4.1 android,超级短信(Handcent SMS)
- A题 序号互换(进制转换)
- 成本(CPU Costing)的含义
- 解析亚马逊 SFTP中订单报文 EDI ANSI X12 格式
- 瑞利分布随机变量产生MATLAB,运用直接抽样法产生指数分布、瑞利分布的随机变量序列matlab编程.doc...
- KPI,OKR互联网人的绩效指标