C# Pascal 命名规则
2016-05-30 14:44
369 查看
在以前版本的Visual Studio中,微软曾建议使用匈牙利命名法来写代码,并鼓励开发这位写出统一格式的代码而使用相同的法则。在最近发布的.NET和它的编程语言中,微软更换了他的这一法则。如果你用过Delphi编程,你会看到新的法则与Delphi(Pascal)有些相似。
从我学习编程以来Visual Studio是6.0,之后有2003版和2005版,到现在有2008版了; .NET framwork类库也从以前的1.1、2.0、3.0到现在的3.5,我学C++之时用的是Visual Studio 6.0,那时老师还介绍使用匈牙利命名法,不过之后到.NET平台下微软不建议用匈牙利命名法了,这可以从微软根据其所推出产品的示例和.NET framwork类库参考看到,在C#中,以帕斯卡命名法和骆驼命名法居多。我个人习惯骆驼命名法,事实上在.NET
framwork类库参考中使用的就是帕斯卡命名法和骆驼命名法。
以下就是 帕斯卡命名法和骆驼命名法的具体使用。
从我学习编程以来Visual Studio是6.0,之后有2003版和2005版,到现在有2008版了; .NET framwork类库也从以前的1.1、2.0、3.0到现在的3.5,我学C++之时用的是Visual Studio 6.0,那时老师还介绍使用匈牙利命名法,不过之后到.NET平台下微软不建议用匈牙利命名法了,这可以从微软根据其所推出产品的示例和.NET framwork类库参考看到,在C#中,以帕斯卡命名法和骆驼命名法居多。我个人习惯骆驼命名法,事实上在.NET
framwork类库参考中使用的就是帕斯卡命名法和骆驼命名法。
以下就是 帕斯卡命名法和骆驼命名法的具体使用。
编程规范 | ||
类型 | 命外规则 | 说明 |
命名空间 namespace | Pascal | 以.分隔,其中每一个限定词均为Pascal命名方式 如ExcelQuicker.Work |
类 class | Pascal | 每一个逻辑断点首字母大写 如public class MyHome |
接口 interface | IPascal | 每一个逻辑断点首字母大写,总是以I前缀开始,后接Pascal命名 如public interface IBankAccount |
方法 method | Pascal | 每一个逻辑断点首字母大写 如private void SetMember(string) |
枚举类型enum | Pascal | 每一个逻辑断点首字母大写 |
委托 delegate | Pascal | 每一个逻辑断点首字母大写 |
局部变量 方法的参数 | Camel | 首字母小写,之后Pascal命名 如string myName |
具体应用的一般良好习惯 | ||
1、 | 成员变量前加前缀 _ | |
2、 | 接口的名称加前缀I | |
3、 | 自定义的属性以Attribute结尾,如: public class AuthorAttribute :Attribute { } | |
4、 | 自定义的异常以Exception结尾,如: public class AppException: Exception { } | |
5、 | 方法的命名。一般将其命名为动宾短语,如: ShowDialog() CreateFile() | |
6、 | 代码的缩进。要用Tab,而不要用space. | |
7、 | 局部变量的名称要有意义。不要用x,y,z等等(除用于For循环变量中可使用i,j,k,l,m,n)。 | |
8、 | 所有的成员变量声明在类的顶端,用一个换行把它和方法分开。 | |
9、 | 用有意义的名字命名namespace,如:产品名、公司名。 | |
10、 | 生成和构建一个长的字符串时,一定要使用StringBuilder,而不用string。 | |
11、 | 始终使用”{ }”包含if下的语句,即使只有一条语句。 | |
12、 | 把相似的内容放在一起,比如数据成员、属性、方法、事件等,并适当的使用#region…#endregion |
相关文章推荐
- C#学习笔记之Socket
- C#winform界面刷新
- C#学习笔记之线程调用带参数的方法
- C#用链式方法表达循环嵌套
- C#泛型约束
- C#学习笔记之线程
- C# winform使用webbrowser控件,不弹出新的页面,只在当前窗口打开
- C#中sizeof使用
- C#中的数据类型
- C#学习笔记之进程
- C#学习笔记之保存文件对话框
- C#学习笔记之打开文件对话框
- C#:光标通过上下键或者enter键从一个textBox移动到另一个textBox或实现按键click功能
- 巩固基础知识,从C# in depth开始
- 即时通信系统中实现全局系统通知,并与Web后台集成【附C#开源即时通讯系统(支持广域网)——QQ高仿版IM最新源码】
- C#使用Process调用批处理阻塞问题
- C#利用浏览按钮获得文件路径和文件夹路径
- C#异步调用的方法
- C#学习笔记之对象和二进制之间的转换
- C#学习笔记之简单工厂设计模式