发表评论
类的成员变量和局部变量的命名规范一样,似乎不是很好的做法: )
#2楼[
楼主]2008-04-24 12:06 |
@Inrie(洪晓军)
也有人说成员变量要用:_+pascal风格的方法来命名,不过我觉得不太习惯,呵呵,我把它当作局部变量风格。不知有没有什么好方法?
编码风格其实就跟word文档式样一样,无所谓美丑,关键是前后统一、组内统一。即可。成员变量加m_前缀区分亦可,老家伙们都看得懂。
#5楼[
楼主]2008-04-24 12:31 |
@neoragex2002
嗯,关键是统一。规范就是为了统一编码,规范是人订的,可以改,不过用得多了,用得久了就成为标准了。这就跟W3C出标准大家按标准来一样的道理。对比手机硬件和电脑硬件就知道标准的好处了!
这是习惯吗?不同的公司有不同的规范.我觉得这没必要习惯.
像这样的:
public string name;
不叫习惯!
#8楼[
楼主]2008-04-24 13:29 |
@new 维生素C.net()
呵呵,是一种命名的规范,或者说风格。public string name;是pascal命名风格,虽然不同的公司有不同的标准,可是公司毕竟是小圈子,对于互联网的广大用户就没公司的约束了。
http://www.cnblogs.com/Emoticons/yoyocici/cool.gif" alt="" /> 完了,完了。这么看来,俺好多习惯都是错误的哦。
俺比较大大咧咧,人家问我叫啥名字,俺就直接说了:
http://www.cnblogs.com/Emoticons/qface/055242240.gif" alt="" />
public string name;
以后俺得含蓄点,得把名字当个人隐私,然后扭扭捏捏地说:
http://www.cnblogs.com/Emoticons/qface/055243523.gif" alt="" />
public string Name
{
get{return name;}
set{name = value;}
}
这样的话,俺还真不习惯。
唉,坏习惯怕是改不了了,就这样吧。又不是问美女的芳龄,无须遮遮掩掩。
http://www.cnblogs.com/Emoticons/QQ/laf.gif" alt="" />
开始我也喜欢这种格式, 但是后来发现这种命名方式中的字段名容易和方法的参数名同名,所以现在都用m_的格式了
现在都这么写 public string Name{get; set;}
呵呵
命名规范现在还没有一个统一的标准.
具体到公司里面可能也不同吧?公司内部人员为了更好的合作一般都有一个统一的标准,这个是很需要的
但公司与公司之间可能是不同的。
我们是定义的时候,成员变量就是_+pascal风格的,其它的倒差不多。
#15楼[
楼主]2008-04-24 16:25 |
@江大鱼
确实有的地方会有重复,这些还是自定义吧。赫赫,只要自己保持一致就行!
#16楼[
楼主]2008-04-24 16:28 |
@Yannic Yang
嗯,3.0的特性用起来还是很方便的,我觉得在这里用3.0不利于说明例子。呵呵
--引用--------------------------------------------------
镜涛: @new 维生素C.net()
呵呵,是一种命名的规范,或者说风格。public string name;是pascal命名风格,虽然不同的公司有不同的标准,可是公司毕竟是小圈子,对于互联网的广大用户就没公司的约束了。
--------------------------------------------------------
这个应该属于camel命名风格 :)
项目组内统一就好了,没必要约束成某种,大家都觉得舒服就行
貌似Microsoft有个C#编码规范的文档吧。
我比较反感m_variable这样的camel命名方式。.NET的BCL里到处都可以见到这样的命名。我猜这些人大概都是从C++,尤其是VC系转过来的。o(∩_∩)o...
不知道怎么回事,就是心里不舒服,哈哈。
我们的项目,测试都是这样命名should_throw_argument_exception_when_xxxx()。很多人也看不惯,但项目组内的人觉得可读直观,就行了
#23楼[
楼主]2008-04-24 23:07 |
@Angel Lucifer
恩,有个.NET设计规范。呵呵
#24楼[
楼主]2008-04-24 23:09 |
@紫色阴影
呵呵,还是那样。一致就好。
谢谢分享
感觉在哪本C++的编程规范上看到过
非常赞同楼主的观点
相比
public string strHistory来说,
我个人认为
get set 的好处 是,看以下伪码:
private string strhistory
public string StrHistory
{
get{
请输入你查看我个人档案的密码;
if (密码正确)
return strhistory;
else
return "黑客行劲,你的一切记录都已被记录";
}
set{
if (value 包含 “曾经杀人” 或者 一切坏的记录)
{
老兄,我没有那么坏吧,别把我的个人档案写得这么差喽
}
else strhistory= value;
}
}
#26楼[
楼主]2008-04-24 23:46 |
@HappyQQ
恩,赞同!我们既然决定要将自己的信息透漏给别人,就需要保证我们给出的信息是有意义的。
字段与属性的区别竟然是大小写。。。
比较危险。
所以我比较习惯在camel格式的字段前面加下划线,虽然输入时不方便了点,不过安全。
组织性的约定才是有效的
当然首先自己特定时期的风格一定要统一,不然自己都看不懂怎么好意思让别人看呢?
如果是企业内部,可以建议提供个工具来检查
@李战
封装字段的作用是为了便于对属性的访问权限进行控制,比如有些属性只让read不能wirte的,可以只提供get方法,set就可以不用提供,这样才是目的