代码简洁之道笔记1 --有意义的命名

代码是写给人看的。目前我认为,写代码第一个阶段是通过编译器,第二个阶段是别人读得懂。第三个阶段是性能好。此篇文章为阅读代码简洁之道所记笔记。

一.有意义的命名

1.名副其实 --如果名称需要用注释来解释那就不是名副其实。

2.避免误导 --避免使用与本意相悖的词。

3.做有意义的区分 --两层意思,i.有意义,没有意义的前缀和后缀是废话,只会增加理解负担。ii.区分,两个变量如果不同不同之处是啥。

4.使用读得出来的名称 --读得出来意味着别人最可能熟悉。语言本身就是一种约定俗成的。

5.重要变量使用可搜索的名称 --现代IDE搜索功能可以很容易处理替换,查找之类操作。

6.避免使用编码 --带编码的名称对其他人不友好,增加代码阅读难度。比如 凶牙利标记法、成员前缀、接口实现(区分接口与实现类在运用的时候是没有意义的,面向接口编程要求依赖倒置,所以对实现类编码比对接口编码来得友好)

7.避免思维映射 --不应当让读者在脑中把你的名称翻译为他们熟知的名称。

8.类名和对象名应该是名词或名词短语不应该是动词。

9.方法名应该是动词或动词短语。

10.不要取只有自己看得懂意思的名字。

11.每一个概念对应一个词。 --约定很重要,如果一堆代码中有controller又有manager就会令人困惑:他们有啥区别吗?啥时候用controller啥时候用manager?

12.别用双关语 --避免同一单词用于不同目的。比如多个类中都有add,一种含义是增加链接现有值获得新值,一种含义是把单个值放到集群中比如list的add。实际上语义是不同的,这样增加了阅读难度,是不好的设计。

13.使用解决方案领域名称  --任何领域都有专业术语,阅读代码的只可能是程序员,所以这种约定是比较强的。比如dao,controller等等名称是比较靠谱的。

14.使用源自所涉问题领域的名称 --如果不能用程序员熟悉的术语来命名,就采用所涉问题领域而来的名称。至少读相关代码的程序员如果先了解了概念,则读起来难度降低。

15.添加有意义的语境 --很少有名称是能自我说明的,所以以良好的类、函数、名称空间来给读者提供语境是必要的。但是如果根据上下文能够得知的语境就不需要在变量命名中添加,没有意义的废话,只会增加理解负担。

总结:取好名字最难的地方在于需要良好的描述技巧与共同的文化背景。取好名字能让晦涩难懂的代码变得容易。一种概念越普遍,用起来越没有理解难度。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值