.net命名规范的不同之处

规范

     在你的代码中使用注释语句和下边就要讲的统一命名法则是一个很好的习惯,它们会使你的代码更加通用。我(作者)已经在微软工作了近五年的时间了。我不知道你是否跟我一样,在集成和除BUG时遇到很多问题----因为开发者没有遵守统一的命名法则和写注释语句。
  在以前版本的Visual Studio中,微软曾建议使用匈牙利命名法来写代码,并鼓励开发这位写出统一格式的代码而使用相同的法则。例如:
  
  
  变量
  命名
  
  CString
  SzString
  
  char
  CmyChar
  
  char*
  PmyChar
  
  Long
  LMyVariable
  
  LPCSTR
  LpStr
  
  Int
  NMyNumber
  
  
  在最近发布的.net和它的编程语言中,微软更换了他的这一法则。如果你用过Delphi编程,你会看到新的法则与Delphi(Pascal)有些相似。
  
  为避免代码冲突(这样做也会让你的代码更为通用),就要使用命名法则,这是一个很好的编程习惯。好啦,这里介绍一些常用的法则。
  
  ◆命名变量、方法、以及属性
  
  变量、方法和属性的名称的第一个字母应该大写,并且名称应该能表达出它们的用途(或者说是意义)。
  
  变量
  .NET 命名
  匈牙利命名
  描述
  
  Cstring
  EmployeeName
  szName
  Name of an employee.
  
  Int
  AttendanceCounter
  nCounter
  A counter of type long.
  
  Long
  NumberOfBytes
  lBytes
  A long type variable stores bytes.
  
  
  有时我们习惯于在定义中使用下划线 "_",例如: Add_Data(int a, int b). 按照新的命名法则,这不是一个好的编程习惯,虽然它并没有错。你应该将定义 Add_Data 改为 AddData。 这不是微软的标准,你也不是必须按照这些法则。但是,在一些地方你会明白下边这些法则的合理性。
  
  就我个人而言,我更喜欢匈牙利命名法。当然,变量也使用同样的法则。如果你记得匈牙利命名法的话,一个布尔型的变量定义以"b"打头,比如:
  
  BOOL bFlag = TRUE;
  
  
  新的法则不推荐使用Flag 和 "b":
  
  bool IsFileFound = true;
  
  你可以浏览一下MSDN,那里边有更多有关新的法则的说明。
  
  
  ◆命名组件以及集合(Assemblies)
  
  为避免代码冲突, 按照命名法则给你的库(在 .NET 中称为assembly)命名是一个良好的编程习惯。假定你是MindCracker 公司的,你在开发一个用于扩充C# database 类的库, 把它的名字命名为MindCracker.DatabaseAssembly.ADOSet 要比MyAssembly.Database.ADOSet好的多。
  
  再假定你的库有一个方法,它是从表中读取数据,并返回一个数据集。你如果取名为 DataSet return_data()的话,改为DataSet ReturnData()好啦.
  
  你还应该在命名中遵循一个统一的单词顺序。例如,你有俩个表,分别为Employee 和 Manager ,并且你还为它们分别定义了一个向表里边插入一条记录的方法, 那么方法名AppendEmployee 和 AppendManager 要比AppendEmployee 和 ManagerAppend要好。
  
  
  ◆循环
  
  循环或者是其它块儿结构应该对齐左右大括号,就像下边这样:
  
  for (i = 0; i < 100; i++)
  {
  ...
  }
  
  或者
  
  for (i = 0; i < 100; i++){
  ...
  }
  
  
  我更喜欢的二种方法,因为很容易清楚一个块儿结构和嵌套块儿结构。
  
  
  ◆匈牙利命名法(efoxxx附)
  
  匈牙利命名法是一名匈牙利程序员发明的,而且他在微软工作了多年。此命名法就是通过微软的各种产品和文档传出来的。多数有经验的程序员,不管他们用的是哪门儿语言,都或多或少在使用它
  
  这种命名法的基本原则是:
  
  变量名=属性+类型+对象描述
  
  即一个变量名是由三部分信息组成,这样,程序员很容易理解变量的类型、用途,而且便于记忆。
  
  下边是一些推荐使用的规则例子,你可以挑选使用,也可以根据个人喜好作些修改再用之。
  
  ⑴属性部分:
  
  全局变量: g_
  
  常量 : c_
  
  类成员变量: m_
  
  ⑵类型部分:
  
  指针: p
  
  句柄: h
  
  布尔型: b
  
  浮点型: f
  
  无符号: u
  
  ⑶描述部分:
  
  初始化: Init
  
  临时变量: Tmp
  
  目的对象: Dst
  
  源对象: Src
  
  窗口: Wnd
  
  
  下边举例说明:
  
  hwnd: h表示句柄,wnd表示窗口,合起来为“窗口句柄”。
  
  m_bFlag: m表示成员变量,b表示布尔,合起来为:“某个类的成员变量,布尔型,是一个状态标志”。

时间: 2024-09-12 13:22:10

.net命名规范的不同之处的相关文章

CSS命名规范和CSS书写规范

CSS命名规范 一.文件命名规范 全局样式:global.css:框架布局:layout.css:字体样式:font.css:链接样式:link.css:打印样式:print.css: 二.常用类/ID命名规范 页 眉:header内 容:content容 器:container页 脚:footer版 权:copyright 导 航:menu主导航:mainMenu子导航:subMenu标 志:logo标 语:banner标 题:title侧边栏:sidebar图 标:Icon注 释:note搜

《Web前端开发最佳实践》——2.6 前端代码基本命名规范和格式规范

2.6 前端代码基本命名规范和格式规范 命名规范和格式规范是代码规范中最基本的规范,任何代码的混乱都是从命名和格式的混乱开始的,而意义明确的命名和规整的代码格式则提高了代码的可读性与可维护性,给代码的阅读者和维护者留下了良好的第一印象.命名规范和格式规范没有一个统一的标准,不同的人可能有不同的认识,但是在同一个项目中,必须严格遵守统一的命名和格式规范.以下推荐的规范是在实际项目中认同度较高的代码规范,供读者参考.2.6.1 HTML命名规范及格式规范 HTML代码所有的标签名和属性应该都为小写,

C语言项目开发-项目架构和编程命名规范

一个项目的流程: 1.公司市场人员与客户交流,了解客户.引导客户使用公司最优资源并产出一份市场需求文档 2.公司需求人员(BA)与客户交流,了解客户需求并产出一个软件需求文档 3.项目经理.开发小组成员.需求人员(BA)一起开一个需求评审会议,对不合理的地方,    打回给BA,再由BA与客户沟通 4.程序员接到和充分了解软件需求文档后产生软件设计文档(包括概要设计文档和详细设计文档,    涉及到数据库的还需要进行数据库的设计) 5.程序员根据设计文档进行编码.调试.打包发布.如果编写的函数库

CSS命名规范一 入门篇

CSS命名规范 一.文件命名规范  代码如下 复制代码 全局样式:global.css: 框架布局:layout.css: 字体样式:font.css: 链接样式:link.css: 打印样式:print.css: 二.常用类/ID命名规范  代码如下 复制代码 页 眉:header 内 容:content 容 器:container 页 脚:footer 版 权:copyright 导 航:menu 主导航:mainMenu 子导航:subMenu 标 志:logo 标 语:banner 标

数据库表字段命名规范

数据库表字段命名规范   摘要:当前研发工作中经常出现因数据库表.数据库表字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库表字段命名规范来解决优化这些问题. 本文是一篇包含了数据库命名.数据库表命名.数据库表字段命名及SQL语言编码的规范文档,针对研发中易产生的问题和常见错误做了一个整理和修改,为日后涉及到数据库相关的研发工作做好准备.   一.数据库命名规范

软件命名规范(版本号)

软件命名规范 软件版本阶段说明 Base版: 此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构. Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改. Beta版: 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI. RC版: (Rel

第2章番外 Java的命名规范

Java开发者对Java的代码风格有自己的规范,良好的代码风格是非常重要的.下面来说下各种命名规范: 包命名(全小写,反写域名) Java引入包的机制很大程度是为了解决重名问题,这有点想C++的命名空间的作用. 包实际上提供了一种命名机制和可见性机制. 为了最大程度地防止重名,包名必须具有唯一性. Java包的名字都是由小写单词组成.但是由于Java面向对象编程的特性,每一名Java程序员都可以编写属于自己的Java包,为了保障每个Java包命名的唯一性,在最新的Java编程规范中,要求程序员在

Swift常量和变量以及命名规范

我们在上一章中介绍了如何使用Swift编写一个HelloWorld小程序,其中就用到了变量.常量和变量是构成表达式的重要组成部分.常量在声明和初始化变量时,在标识符的前面加上关键字let,就可以把该变量指定为一个常量.顾名思义,常量是其值在使用过程中不会发生变化的量,实例代码如下:let_Hello = "Hello"_Hello标识符就是常量,只能在初始化的时候被赋值,如果我们再次给_Hello赋值,代码如下:_Hello = "Hello, World"则程序会

网站文件命名规范

规范  · 文件命名的原则:以最少的字母达到最容易理解的意义.· 索引文件统一使用index.html文件名(小写) index.html文件统一作为"桥页",不制作具体内容,仅仅作为跳转页和meta标签页.主内容页为main.html · 按菜单名的英语翻译取单一单词为名称.例如: 关于我们 \aboutus 信息反馈 \feedback 产 品 \product 所有单英文单词文件名都必须为小写,所有组合英文单词文件名第二个起第一个字母大写: 所有文件名字母间连线都为下划线 · 图