CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

我们一起谈谈C#编程中,变量和控件的命名规范

楼主xli520(商界骄子)2005-06-16 10:25:37 在 .NET技术 / C# 提问

比如:  
  命名一个  
  姓名   变量:string   strName  
  编码           :int   intNumber  
  出生日期   :dtBirth  
  ---------------  
  控件命名规范:  
  TextBox       :txtName  
  Lable           :lblMsg  
  ........  
   
  谈谈大家的看发,给点意见,大家的标准命名规范如何?? 问题点数:20、回复次数:11Top

1 楼knoros2004()回复于 2005-06-16 10:49:03 得分 1

建议楼主控件和变量不要用同一种命名规则。Top

2 楼cugo(cugo)回复于 2005-06-16 11:04:34 得分 1

控件命名=控件缩写前缀     +   “_”   +变量名  
  控件                       缩写  
  Label                       lbl  
  TextBox                       txt  
  CheckBox                       chk  
  Button                       cmd  
  ListBox                       lst  
  DropDownList     drp  
   
  等等  
  Top

3 楼cugo(cugo)回复于 2005-06-16 11:06:33 得分 4

程序中变量名称   =   变量的前缀   +代表变量含意的英文单词或单词缩写。  
   
  1.     类模块级的变量请用“m_”作前缀  
  public   class   hello  
  {  
          private   string   m_Name;  
          private   DateTime   m_Date;  
   
  }  
  2.     类的属性所对应的变量,采用属性名前加“m_”前缀的形式  
  public   class   hello  
  {  
          private   string   m_Name;  
          public   string   Name  
        {  
            get  
          {  
              return   m_Name;  
          }  
        }  
  }  
  3.     过程级的变量不使用前缀  
  public   class   hello  
  {  
        void   say()  
        {  
              string   SayWord;  
        }  
  }  
  4.     过程的参数使用“p_”作为参数  
  public   class   hello  
  {  
  void   say(string   p_SayWord)  
  {  
  }  
  }  
  Top

4 楼Ivony(授人以鱼不如授人以渔,上海谋生)回复于 2005-06-16 11:21:51 得分 4

微软是反对这种匈牙利命名法的,本人也深有同感。  
   
  比如说,txtName和selName有什么区别没有,纯粹是前面显示的东西不同罢了,而在后面取值的过程完全是一样的代码,那为什么不直接叫Name,或者iptName、iName,如果是严格的分层规划,命名不可能冲突,页面上可以直接叫Name,页面叫作inputUserInfo,生成UserInfo对象,页面上的Name直接对应到UserInfo对象的Name属性,数据库的字段名也叫Name,从表示层到逻辑层直到数据访问层、数据库,一个Name用到底是很容易的,也很容易看清楚。好,我们偏不这样,每个层都用特有的匈牙利命名法:  
  页面上面叫作txtName,逻辑层叫作UserName,数据库里面干脆来个UserInfo_Name。那是天书,没谁能看懂。  
   
   
  微软的做法是:  
  private的成员一律加"_"前缀。所有的成员变量必须是private。除非是const。  
  public和protected的成员一律按照P和C命名法,不存在protected成员变量,而是protected方法。internal亦是如此。Top

5 楼xli520(商界骄子)回复于 2005-06-16 11:24:06 得分 0

我总觉得变量命名一定要加上变量类型的宿写才方便辨认  
  比如定义一个   bool   bInt;  
                            string   strName;  
  这样别人看到变量就知道是什么类型的了Top

6 楼Ivony(授人以鱼不如授人以渔,上海谋生)回复于 2005-06-16 12:42:18 得分 5

C#本来就是强类型的语言,那么强调类型干什么,如果类型不对,那是编译时错误。况且,如果你非要用string来储存日期,你完全可以这样命名:XXXDateStr,而完全没必要在每一个DateTime前面加上dt什么的东西。  
   
  名字就是名字,不要承载太多的东西。谁会称呼自己的父母或者儿子为(高级律师)XXX(先生)呢?同样的道理,我们也不应该把我们的变量称呼为引用A整形。这样除了害自己没有什么好处。现在已经不是那个指针乱指的年代了。Top

7 楼yangjundeng(天下无双)回复于 2005-06-17 19:27:53 得分 2

<我总觉得变量命名一定要加上变量类型的宿写才方便辨认  
  比如定义一个   bool   bInt;  
                            string   strName;  
  这样别人看到变量就知道是什么类型的了>  
   
  我不同意这样的看法,我觉得,不需要变量的类型,更美观.要知道变量的类型,只要鼠标移动到变量的上面就知道了.Top

8 楼BigIdiot628(大笨蛋,谁叫你不努力!)回复于 2005-06-17 20:10:23 得分 1

听课来了。Top

9 楼lgh12345(慧眼数码阅卷王2006)回复于 2005-06-17 20:35:54 得分 0

gzTop

10 楼singlepine(小山)回复于 2005-06-17 20:42:22 得分 2

ms-help://MS.MSDNQTR.2003FEB.2052/cpgenref/html/cpconnamingguidelines.htmTop

11 楼good_sun(汉堡+泡面)回复于 2005-06-17 21:07:16 得分 0

学习学习Top

相关问题

  • 控件与变量!!!!
  • C++和汇编混合编程时,如何在汇编程序中访问C++的全局变量?
  • 读高质量C++编程 浮点变量与零值比较 请指教
  • VB控件编程
  • winsock控件编程
  • 我刚刚在读《C++Builder5编程实例与技巧》,关于设计期和编程期的变量定义。
  • 有没有控件变量
  • Delphi7中写C/S数据库编程要用到哪些控件??3Q
  • 急求list control 这个控件的用法吗?(用C++ win32编程)
  • 请问C#中在一个Form中如何调用其他存在的Form中的变量或控件的值?

关键词

  • c#
  • 命名
  • 控件
  • 页面
  • 属性
  • 数据库
  • 变量
  • 前缀
  • 规范
  • 类型

得分解答快速导航

  • 帖主:xli520
  • knoros2004
  • cugo
  • cugo
  • Ivony
  • Ivony
  • yangjundeng
  • BigIdiot628
  • singlepine

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo