代码整洁之道--有意义的命名

现实生活中,我们都知道名字的重要性,对此,还有些笑点由此产生。同理在我们的代码中也是适用的,有个好的名称,读你代码的人(包括你自己)都会开心。这其中包括参数名、文件、类,函数的命名。
好的名字应该有以下特点:

  • 可以由名生意。根据名字可以看出它为什么存在,它做什么事情,应该怎么用。假如名称还需要注释来补充,那就不名副其实了。
  • 有意义的区分。常见的有以数字系列命名(比如a1、a2、a3,,,),这都是不可取的
  • 用可读的参数代替数字会不会更好点呢。比如
       
       
    1. for(int i=0;i<4;i++){
    2. }
       
       
    1. #define NUM_OF_TASKER 4
    2. for(int i=0;i<NUM_OF_TASKER;i++){
    3. }
    哪个更好呢。
  • 避免使用双关语。
  • 类名和对象名应该是名称或者名称短语
  • 方法名应该是动词或者动词短语,比如deletePage或者save.属性访问器可以加上get、set、is等修饰语。
  • 使用合适的匈牙利命名规则
    匈牙利命名法主要是为变量加上某种前缀以标识这个变量的类型,或是一种方法的功能。其基本原则是:变量名=属性+类型+对象描述。
    比如:在描述类型方面:指针p,函数fn,长整型 l,布尔b,浮点型(有时也指文件)f,双字 dw,字符串 sz,短整型 n,双精度浮点 d,无符号 u……等等。关于更多的命名规范,请参见附录。

不要害怕改名,尽管取个好名字会多花些时间,但是长远看,完全是值得的。假如一旦有了更好的名字,尽量马上进行修改。
分享一个非常优秀的文章,译文:《编程中的命名设计那点事》原文:《Naming Things in Code》

附录、匈牙利命名法:

 
 
  1. a Array 数组
  2. b BOOL (int) 布尔(整数)
  3. by Unsigned Char (Byte) 无符号字符(字节)
  4. c Char 字符(字节)
  5. cb Count of bytes 字节数
  6. cr Color reference value 颜色(参考)值
  7. cx Count of x (Short) x的集合(短整数)
  8. dw DWORD (unsigned long) 双字(无符号长整数)
  9. f Flags 标志(一般是有多位的数值)
  10. fn Function 函数
  11. g_ global 全局的
  12. h Handle 句柄
  13. i Integer 整数
  14. l Long 长整数
  15. lp Long pointer 长指针
  16. m_ Data member of a class 一个类的数据成员
  17. n Short int 短整数
  18. p Pointer 指针
  19. s String 字符串
  20. sz Zero terminated String 0结尾的字符串
  21. tm Text metric 文本规则
  22. u Unsigned int 无符号整数
  23. ul Unsigned long (ULONG) 无符号长整数
  24. w WORD (unsigned short) 无符号短整数
  25. x,y x, y coordinates (short) 坐标值/短整数
  26. v void
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值