编程规则 - 2 命名规则

摘要:编程规范 设计规则 编程指导 参阅:概述

2 命名

名不正言不顺、顾名思义、名如其人;

可见命名之重要,我们在编码过程中,到处都会遇到命名,而多数人对命名草率处置,事实上糟糕的命名是烂代码的罪魁祸首,因此我们必须把命名上升到一个高度来认识。

2.1 命名的总则

简洁精确、名副其实、一以贯之、勇于重构

名字是对一个具体事务最简洁的陈述,它能够清晰的、如实地反映事务本身,不能词不达意,更不能张冠李戴,要认识到起一个好名字是不容易的,是需要思考和花时间的,但它会在后续的过程中跟你更多的回报。

名字要简洁,但必须意思完整,例如一个变量命名为Number,意思就不完整,是什么Number啊?我们许多程序员的程序中充满了类似的命名,半截子话,需要你猜。

好的名字一目了然,不需要读者去猜,甚至不需要注释

为了起名字更加规范、容易,要求各项目必须根据具体技术领域(解决方案领域)、业务领域(问题领域)制定详细的命名字典,全面明确的定义该项目中使用的全部名次、动词、形容词、动名词等,并制定各种事务的详细命名规范,项目组成员要根据命名字典和命名规范进行命名。

一个体系中每个概念只能唯一对应一个词,不要一意多词,也不要一词多意。

发现一个不好的名字就及时重构。

2.2 命名指导原则

类名:使用名词或名词短语,不能使用动词,要简洁明确,避免使用似是而非的词。如:

AccountInfo,AccountData,Info、Data到底是什么意思,有和区别不如就用Account。

我们的命名规范中规定类名前增加两到三个大写字母,用于表达类的归属,两个字母用于平台级,三个字母用于应用级,这有利于区别应用类和通用jar包的类,是好的办法,但必须事先制定好归属代码的规范。

方法名:使用动词或动词短语,属性访问器遵循JavaBean的标准(get、set、is)。

一个方法必须只做一件完整的、独立的事,名字必须精确表达该方法的具体行为,努力为方法起个好名字,有时你很难为一个方法起一个恰当的好名,往往表明两件事:

1)你对这个方法到底要做什么还不明确(设计有问题);

2)这个方法做的事情太多,违背了方法简单、独立的原则。

因此命名还会纠正设计问题,有关方法的问题我们在后面还会专题讨论。

方法名以小写字母开头。

属性名:使用名词、名词短语或动名词;

属性名是类下面的子概念,不必重复类名;

Java通行规范约定属性名以小写字母开头,我们规定以大写字母开头,这样即可以简单地识别属性名,在类似的赋值语句中略去讨厌的this.

this.Name = name;

Name = name;

变量和参数名:使用名词、名词短语或动名词;

除了循环变量和简短的数学运算可以采用单字母(或双字母)变量外,一律采用简洁且含义精确的名称,如:AccNo,我们推荐使用缩写,但必须使用统一一致的缩写规范。

循环变量可以使用i、j、k、n、m,避免使用l、o;

项目、包、目录名:

一个系统可能会建立一个以上的项目、包和目录等,这些都涉及到命名,必须在如上的规则指导下,由总体组统一制定具体名称。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值