分页: 2 / 4
发表于 : 2008-06-22 13:47
由 everyoung
变量:小写的前缀_名词,
类或者对象:名词加上表示用途的名词,用大小写区分单词,如:ClassAdapter theClassAdapter = new ClassAdapter()
函数:动宾结构短语,DoSomething()
发表于 : 2008-06-22 15:49
由 flyinflash
发表于 : 2008-06-24 5:48
由 猛将兄
两种都不错,我经常混用,因为c和java混着写,null和NULL经常都会混用
怎么没人提这个世界上最扯淡的命名方法,非得在结构名或者类名前面加个东西代表他是什么
比如
IAbc说明是Interface接口
StrABC说明是String
绝对是世界上最扯淡的命名方法。关于他的荒谬,我可以写出最少十条来
发表于 : 2008-06-24 12:47
由 Strange
猛将兄 写了:两种都不错,我经常混用,因为c和java混着写,null和NULL经常都会混用
怎么没人提这个世界上最扯淡的命名方法,非得在结构名或者类名前面加个东西代表他是什么
比如
IAbc说明是Interface接口
StrABC说明是String
绝对是世界上最扯淡的命名方法。关于他的荒谬,我可以写出最少十条来
想听一下这10条
发表于 : 2008-06-24 13:10
由 flyinflash
猛将兄 写了:两种都不错,我经常混用,因为c和java混着写,null和NULL经常都会混用
怎么没人提这个世界上最扯淡的命名方法,非得在结构名或者类名前面加个东西代表他是什么
比如
IAbc说明是Interface接口
StrABC说明是String
绝对是世界上最扯淡的命名方法。关于他的荒谬,我可以写出最少十条来
代码是自己写,自己看,您的风格如何当然无所谓,但是,如果是合作开发,您就应该收敛一下。
看来,有空写个加强版 indent 是非常必要的
发表于 : 2008-06-24 13:12
由 flyinflash
比如
IAbc说明是Interface接口
StrABC说明是String
记得以前看 Flash ActionScript 2.0 时,
它提到所谓的“优良风格”:
a_btn
加 '_btn' 后缀表示 button 对象实例
c_txt
加 ‘_txt' 后缀表示 text 对象实例
……
好是好,但是我觉得太罗唆了。[/quote]
发表于 : 2008-06-24 13:13
由 flyinflash
因为c和java混着写
最讨厌这种,乱七八糟,简直是*%(!%
发表于 : 2008-06-24 13:14
由 greco
第二个
发表于 : 2008-06-24 13:23
由 kevin.c
第一种 开源软件大多是这种风格
第二种 M$专用风格
我自己写软件用第一种 公司项目只能用第一种
疼狠第二种 看着就不爽
发表于 : 2008-06-24 13:29
由 greco
kevin.c 写了:第一种 开源软件大多是这种风格
第二种 M$专用风格
我自己写软件用第一种 公司项目只能用第一种
疼狠第二种 看着就不爽
?? 照你这么说,许多Java 的开源代码都是 M$ 分格?
发表于 : 2008-06-24 13:56
由 HuntXu
这么说许多ajax的也是M$的风格了

发表于 : 2008-06-25 1:56
由 猛将兄
flyinflash 写了:因为c和java混着写
最讨厌这种,乱七八糟,简直是*%(!%
这个世界上没有任何一种语言能作完所有事情
语言只是工具,c有c的scope,java有java的scope,两者混合才能发挥最大效能
关于c和java混合的产品,这个世界有无数
各大数据库Oracle,DB2都是,包括BerkeleyDB也是
JVM是C++和Java的混合体
你有什么资格去讨厌这些产品呢?
发表于 : 2008-06-25 2:01
由 猛将兄
Strange 写了:猛将兄 写了:两种都不错,我经常混用,因为c和java混着写,null和NULL经常都会混用
怎么没人提这个世界上最扯淡的命名方法,非得在结构名或者类名前面加个东西代表他是什么
比如
IAbc说明是Interface接口
StrABC说明是String
绝对是世界上最扯淡的命名方法。关于他的荒谬,我可以写出最少十条来
想听一下这10条
1。 造成理解混淆。一个I,其实可以代表Interface,也可以代表Integer,事实上,早期的I是代表Integer,后期的I是代表Interface,人为产生软件开发代沟。更不要说P有的代表Poiter,有的代表一个自己的Class叫Person的事情了
2。 完全没有必要。这种写法最主要是早期编辑器非常不好用的情况下,为了清晰而产生的。可是正如1所言,现在已经会产生混淆了。当下用emacs或者vim或者任何一种IDE都可以很清楚地标识类型,何苦自己为难自己
3。以后再说,我想看看你们说的好处在哪里
发表于 : 2008-06-25 9:38
由 Strange
1。造成理解混淆。一个I,其实可以代表Interface,也可以代表Integer,事实上,早期的I是代表Integer,后期的I是代表 Interface,人为产生软件开发代沟。更不要说P有的代表Poiter,有的代表一个自己的Class叫Person的事情了
2。 完全没有必要。这种写法最主要是早期编辑器非常不好用的情况下,为了清晰而产生的。可是正如1所言,现在已经会产生混淆了。当下用emacs或者vim或者任何一种IDE都可以很清楚地标识类型,何苦自己为难自己
3。以后再说,我想看看你们说的好处在哪里
我一直觉得,没什么不好
但至少觉得这个1和2不成立,想听听下面的
网上一般认为不好也就是繁琐,其他也没啥
1。
每个项目有每个项目的coding style,看明白了之后,这个项目中不会发生混淆,除非程序没完全按照代码规范来做
一个项目中i既代表integer又代表interface的话,只能说代码规范不好了
退一步说,如果觉得这个辅助的信息没用,读代码的时候完全可以自己忽略,就当没看见,这样和一个普通的变量名称除了繁琐以外有什么特别的区别?
2。
基本没必要还有道理,完全没必要就太绝对了
如果代码打印出来呢?
即使是vim,想要简单方便的很清楚地标识类型的方法是没有的,如果有,一定请教我一下
vs2005记得也没有能直接从ide中直接表示变量类型的方法
3。
我认识的匈牙利的缺点
繁琐,不方便修改。变量长度变长,如果修改变量类型的话,改动大
但是,这个到正是现代ide所能弥补的一点
ide或者emacs/vim都有补完,有方便的搜索/替换功能
4。
所以,虽然网上骂匈牙利命名法的一片,但我觉得,这也只是一个命名法,说不上多好,但也说不上多差
根据程序的需要,用/不用,或者用部分,都是合理的选择
发表于 : 2008-06-25 9:45
由 Strange
还有其实lz提到的两种命名法本无好坏,只是正好被两大代码集团引用了而已
所以这就是前面说的代码规范的作用
去参加gnu项目的,就要同意他的代码规范,写出abc_def类似的代码
参加windows项目的,就根据windows代码规范,写出abcDef的代码,仅此而已
纯粹根据自己对于操作系统,对于公司的好恶来评判命名法,是没有什么道理的