个人喜欢的命名方法
2012-05-12 23:27
211 查看
不同的团体使用不同的匈牙利命名体系。尽管一些事相同的,但是很多还是有很多有所区别。
我们为每个数据类型使用不同的前缀是过度的(overkill),尤其对与struct和class。而且长的匈牙利命名会适得其反。因此,我们提倡是使用简单的匈牙利命名体系,叫做:caste Hungarian。
变量的前缀由三个部分组成:范围修饰,类型修饰,类型前缀。前两部分也许是不适用的。因此,全部的前缀长度都是合理的,平均前缀长度在2个字符左右。这个体系包含了很多匈牙利标记法的优点,并且将很多缺点排了出去,使得整个体系简单,容易。
The following type modifiers are placed before the prefix if they apply:
The following scope modifiers are placed before the type modifier if they apply:
一些注意:
1. 这些距离并不是详尽的,它包含了大部分情况。如果你觉得不同类型变量值得具有它自己的前缀,自己赋一个
2. 使用具有具体含义的变量名,能够很好的分别它们。这在struct和class中尤为重要。如Rectangle sWindowRect比Rectangle sWindow要好的多
3. char被用作ASCII字符和integer时,有不同的前缀,能够分清它的用途。
4. float和double具有不同的前缀。
5. typedefs 不适合这个体系
6. 当一个变量是class的引用或指针时,‘c'是被禁用的。
7. 因为整型变量没有被很好的区分,你很容易将一个大的整型变量改变成小的变量类型,而没有改变名字。但是,这样可能会引起溢出的问题。
我们为每个数据类型使用不同的前缀是过度的(overkill),尤其对与struct和class。而且长的匈牙利命名会适得其反。因此,我们提倡是使用简单的匈牙利命名体系,叫做:caste Hungarian。
变量的前缀由三个部分组成:范围修饰,类型修饰,类型前缀。前两部分也许是不适用的。因此,全部的前缀长度都是合理的,平均前缀长度在2个字符左右。这个体系包含了很多匈牙利标记法的优点,并且将很多缺点排了出去,使得整个体系简单,容易。
Type prefix | Meaning | Example |
---|---|---|
b | boolean | bool bHasEffect; |
c (or none*) | class | Creature cMonster; |
ch | char (used as a char) | char chLetterGrade; |
d | double, long double | double dPi; |
e | enum | Color eColor; |
f | float | float fPercent; |
n | short, int, long char used as an integer | int nValue; |
s | struct | Rectangle sRect; |
str | C++ string | std::string strName; |
sz | Null-terminated string | char szName[20]; |
Type modifier | Meaning | Example |
---|---|---|
a | array on stack | int anValue[10]; |
p | pointer | int* pnValue; |
pa | dynamic array | int* panValue = new int[10]; |
r | reference | int rnValue; |
u | unsigned | unsigned int unValue; |
Scope modifier | Meaning | Example |
---|---|---|
g_ | global variable | int g_nGlobalValue; |
m_ | member of class | int m_nMemberValue; |
s_ | static member of class | int s_nValue; |
1. 这些距离并不是详尽的,它包含了大部分情况。如果你觉得不同类型变量值得具有它自己的前缀,自己赋一个
2. 使用具有具体含义的变量名,能够很好的分别它们。这在struct和class中尤为重要。如Rectangle sWindowRect比Rectangle sWindow要好的多
3. char被用作ASCII字符和integer时,有不同的前缀,能够分清它的用途。
4. float和double具有不同的前缀。
5. typedefs 不适合这个体系
6. 当一个变量是class的引用或指针时,‘c'是被禁用的。
7. 因为整型变量没有被很好的区分,你很容易将一个大的整型变量改变成小的变量类型,而没有改变名字。但是,这样可能会引起溢出的问题。
相关文章推荐
- 个人收藏:如何用正确的方法来写出质量好的软件的75条体会[转]
- java中:包、类、字段、方法命名规则
- 个人电脑最详细的安全设置方法 ----不看你会后悔的
- dedecms 个人空间风格自定义方法
- 添加各种自己喜欢的扩展方法
- arm体系结构的版本及命名方法
- google搜索出的结果打不开-----个人小方法
- 变量的命名规则(方法)
- 数据访问类用静态方法。。。当多个人调用时返回值会返回别人的?。。。特别奇怪的问题???
- 命名方法配置
- 变量和方法命名的最佳实践
- 积少成多Flash(2) - ActionScript 3.0 基础之包、类、包外类、命名空间、属性、方法、接口和继承
- android 退出程序 个人解决方法
- 系统分析中写 需求说明书 的方法--个人经验总结
- 带有命名方法的委托与带有匿名方法的委托(C# 编程指南)
- 解决jquery中$命名冲突的几种方法
- KMP算法:KMP算法个人理解+next数组细节处理的方法
- svn使用中文补丁包上传路径乱码,请执行清理命名解决方法
- C#文件重命名的方法
- C# 获取命名空间 类名 方法名