编程中最难的事—命名

依稀记得曾经有人做过调查,在Java程序员编程生涯中,最困难的事情,命名排行榜首!

那么如何打败命名?

命名规范(即有意义的命名)
命名出现在类名,变量名,方法名

1.命名体现本意
不使用a,b,c等命名规则


2.提防误导性的命名
不用accountlist表示多个账号,除非它是个list容器;慎用o,0,l,1等命名


3.命名体现区分度
不使用a1,a2命名;
不使用productInfo,productData命名;
要区分名称,就要以读者能鉴别不同之处的方式来区分


4.命名需要读的出来
命名不造词;
利用人脑善于记忆单词的功能;


5.名称具备可搜索性 
单字母名称和数字常量存在搜索的问题;
名称长短应与其作用域大小相对应。
建议:单字母名称仅用于短方法的本地变量;


6.命名避免使用编码
编码:例如 匈牙利语标记法  简称HN  以及前缀法
HN广泛用于名称长短要命的年代,编译器不做类型检查,程序员借此帮助自己记住类型。

而java是强类型语言,HN或其他编码都比较多余,既增加了学习成本,阅读的难度,且会增加误导性,也不便发音,也易错。


7.命名避免思维映射
命名不需要翻译,命名明确,容易让人理解
专业程序员:明确是王道


8.类名应该为名词或名称短语
不应该为manager,data,info。不应该为动词。


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


10.不使用俗语,俚语


11.一词一义
项目中一个抽象概念对应一个词,get,fetch等;
建立起通用的命名习惯;例如 DAO层统一插入为insert,查询为get,避免出现add/insert,get/search/find等多个词表示同一个意思的情况。


12.不使用双关语
add表示加法获得一个新值,则往集合中加一个单值则不能使用add,因为实际语义发生了变化。
可使用append,insert等替换


13.多使用解决领域名称
例如 jobqueue,算法名,数学术语,模式名等


14.多使用问题领域名称
DDD


15.使用语义,语境(最上乘)
16.不添加没用的语境

总结:
1.取名字最难的点在于需要良好的描述技巧和共有文化背景。
2.尊重重命名,如果命名改的很好那是已经利己利人的大事。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值