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

2.1介绍

软件命名随处可见,函数、变量。。。

2.2名副其实

变量、函数、类的命名应该已经告诉你做什么事,怎么用等大问题,这才是名副其实。

如果名称需要注释来补充,那就不算是名副其实。
给人模糊的感觉不在于代码的简洁度,而在于代码的模糊度,无法直观了解到它该干嘛。

魔术数:程序设计中直接写在代码中的具体数字,虽然作者可以了解其意义,但对别的程序员来讲是说难以理解的。

程序中应该避免:数值的意义难以理解,数字需要变动的时候,可能要改的地方不止一个。

2.3避免误导

避免使用与本意相悖的词,避免使用具体特定意义的词语。

2.4做有意义的区分

废话或者以充数为目的的错误的拼写是无意义的。有意义的的区分是以读者能鉴别不同之处的的方式来区分。

2.5使用读得出来的名称

命名名称的时候要以每个人读得出其意义为标准。

2.6使用可搜索的名称

单字母名称和数字难以搜索,或容易逃过搜索,容易造成错误。

名称长短应与其作用域大小相对应,若变量或常量在程序中多处使用,则应赋其以便于搜索的名称。

2.7避免使用编码

把类型或作用域编进代码里面,徒然增加了解码的负担,纯属多余的负担,同时带编码的名称通常也不变发音,容易打错。

2.7.1匈牙利语标记法

匈牙利语标记法(Hungarian Notation)HN。
随着时代的进步和现代编程语言的丰富类型系统,人们趋向于使用更小的类、更短的方法,变量的定义在视野范围之内,所以如今HN和其他类型编码形式纯属多余。

2.7.2成员前缀

把类和函数做得足够小,消除对成员前缀的需要。

2.7.3接口和实现

有时候也会采用编码的特殊情形比如接口和实现,更应该用容易识别的命名。

2.8避免思维映射

不应当让读者在脑海里把你的名称翻译为他们所熟知的名称,比如单字母变量,尽可能避免使用,除了循环变量之外。

编写代码时,明确是王道,编写其他人能理解的代码。

2.9类名

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

2.10方法名

方法名应该是动词或动词短语,属性访问器、修改器或断言应根据其值命名,按照相关依据加上get、set、is前缀,同时应该将相应的构造器设置为private。

2.11别扮可爱

命名时不可为了好玩而耍宝,需要明确意义。要做到言道意到,意到言道,见其言知其意。

2.12每个概念对应一个词

给每个抽象概念选一个词,并且一以贯之,避免在程序中用多种方式命名同一个东西,也即一词一义。

2.13别用双关词

双关语:同一术语用于不同的概念。程序中避免将同一单词用于不同目的。

2.14使用解决方案领域名称

代码是给程序员来读的,所以应该用程序员领域的名词来命名,取一个技术性的名称是最靠谱的方法。

2.15使用源自所涉及问题领域的名称

如果无法使用程序员所熟悉的术语来命名,就应采用从所涉问题领域而来的名称。

2.16添加有意义的语境

命名时应该用良好命名的类、函数、名称空间来放置名称,给读者提供语境。

2.17不要添加没用的语境

只要短名称足够清楚,就要比长名称好。别给名称添加不必要的语境,精确正是命名的要点。

2.18最后的话

取好一个命名难在需要良好的技巧和相同的文化背景,尝试以上的规则,去练习它,实践它。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值