MyException - 我的异常网
当前位置:我的异常网» C# » 讨论一下c#命名规则,该怎么解决

讨论一下c#命名规则,该怎么解决

www.MyException.Cn  网友分享于:2013-01-09  浏览:15次
讨论一下c#命名规则

发现很多开源的代码命名成员变量的时候,都是用下划线加名称,比如
class Wnd
{
private bool _isShowWnd = false;
private ResourceManager _resourceManager;
}
而绝少使用m_bShowWnd这样类型的c++命名规则。

不知为何?

------解决方案--------------------
bool _isShowWnd "bool"代表BOOL类型变量,is代表"是"的意思,
m_bShowWnd "m"代表成员变量,membe;b是"bool"的简写;这是匈牙利命名法.
用"bool _isShowWnd "是为了更明显表示.
------解决方案--------------------
c#似乎没有这种约定
很多情况下,用下划线表示类成员,去除下划线表示类属性.
比如你本来希望将Wnd类的ResourceManager成员设置成public,一般是这样写:
class Wnd 

private bool _isShowWnd = false; 

private ResourceManager _resourceManager; 
public ResourceManager resourceManager
{
get{ return _resourceManager; };
set{ _resourceManager = value; };
}


------解决方案--------------------
我比较喜欢“类库设计准则”(MSDN索引 类库设计准则 可找到)
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/dv_fxdesignguide/html/fc076d66-9b5f-42d3-aa65-61d970c794a3.htm
------解决方案--------------------
http://www.cnblogs.com/jiangshaofen/archive/2007/04/16/715064.html
仅供参考.
------解决方案--------------------
C#主要是Pascal和 Camel两种命名法及其补充。下划线前缀一般用在与属性对应的私有字段的名字前面,
这是为了与一般私有字段相区分。
其实命名规范并不是金科玉律,在微软提供的代码中,都有不一致的代码风格。关键是在同一个项目重要统一,否则会带来沟通的问题。
------解决方案--------------------
m_bShowWnd 这种属于匈牙利命名法,好处是通过这个变量名称可以看到比如变量类型等诸多信息,
而在现代编辑工具中,你用鼠标指到一个变量上时,就会有许多提示,比如这个变量是局部变量啊,是什么类型的变量等,所以使用这么复杂而且可读性差的命名规则的必要性就不是太强了。
而C#主要使用PASCAL命名法和camel命名法,这两种命名法可读能较强。由于现代编辑工具的智能,在命名规则上提倡宁可名子起长一点,也尽量不用简写,因为名子长了能很清楚的看懂这个变量的意思,使程序的可读能增加了许多,而且有编辑工具的intellisense存在,也不用担心拼写错误。

建议楼主看一看<.Net 设计规范>这本书,这是Anders等微软.Net开发小组的人编写详述命名规范的一本书。

文章评论

中美印日四国程序员比较
中美印日四国程序员比较
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
 程序员的样子
程序员的样子
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员的鄙视链
程序员的鄙视链
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
程序员应该关注的一些事儿
程序员应该关注的一些事儿
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
一个程序员的时间管理
一个程序员的时间管理
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
旅行,写作,编程
旅行,写作,编程
漫画:程序员的工作
漫画:程序员的工作
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
程序员都该阅读的书
程序员都该阅读的书
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
程序员和编码员之间的区别
程序员和编码员之间的区别
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
老程序员的下场
老程序员的下场
编程语言是女人
编程语言是女人
程序员必看的十大电影
程序员必看的十大电影
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
为什么程序员都是夜猫子
为什么程序员都是夜猫子
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
代码女神横空出世
代码女神横空出世
我的丈夫是个程序员
我的丈夫是个程序员
如何成为一名黑客
如何成为一名黑客
我是如何打败拖延症的
我是如何打败拖延症的
总结2014中国互联网十大段子
总结2014中国互联网十大段子
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
10个调试和排错的小建议
10个调试和排错的小建议
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
每天工作4小时的程序员
每天工作4小时的程序员
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有