前言就不说了,直接正题。
我的标题也很明确了,不过我还是再细致的讲一下。
回想以下,我们代码是怎么写的。那必须是,新建一个class,在这个class中,定义变量,写方法,有时候还会用到一些常量。那么,下面就来一个超级简单的例子。
class Man{
String name;
void eat(){
//todo
}
}
这个是不是很明确,很清晰,就算我没有写一句注释,你也能看懂。我写了一个“man”的类,这个对象有名字这个属性,有“吃”这个方法。
当然,这是因为这个很简单,所以,大家都能写出来,命名也不存在问题。但是,如果,我改一下,不知道还是不是一样的呢?
还是上面的例子,我添加一个需求,我要求,这个“man”,拥有到某个地方的能力。
这个时候,有些童鞋会这么写:
class Man{
String name;
void eat(){
//todo
}
void goWhere(){
}
}
不知道,大家发现问题没有,这样写至少存在两个问题。第一个问题,我的要求是,到某个地方。这里分解一下,一个是动词“到”,一个是名词“某个地方”
所以,这个方法可以改为:
void go(String adress){
}
这样改了,是不是,稍微好一点。but,这样改了,还是不够。为什么呢?因为,只是说了到哪里去,但却没说,怎么去。当然,这时候有同学,就会说,可以用继承呀,子类重写这个go方法,然后,根据子类去写怎么去。那么问题来了,就以这个为例,你写一个“小明”继承这个“man”,重写go方法。但是,小明同样有多种方式去“go”。可以步行,可以骑车,可以坐车等等。
那么下面,我说两种方案:
第一种:
void goByCar(String adress){
}
这种方式,就是直接在方法名上,确定用什么方式(交通工具)。
第二种:
void go(String adress,String 方式)
这里说明以下,我们都知道第二个参数是传一个方式,但是,这个方式用哪个单词最为合适和恰当呢?way?mode?很显然,都不是很好。不然,你百度一下这两个单词试试。那一个单词不可以,我们能不能用一个短语,去表示呢?想想,小明,是要到某个地方去,那就是说,小明需要采取某种“出行方式”去某个地方。那么,你百度一下出行方式,ok,结果是唯一的:Travel mode。所以这个地方,就有答案了:
void go(String adress,String travelMode){
}
ok,到这里,基本算优化了。是不是觉得,一个方法命名,参数命名怎么这么麻烦。但,这样的麻烦,会为你以后再看代码,和修改代码,带来很多的好处。
最后总结以下:
实体,属性命名:用名词或者名词短语,实在不行了就用拼音全拼,切勿使用缩写和词不达意的词语。
方法:动词,动词短语
常量的话,只说结果。静态常量(全局常量):ACTION_MOBE_LEFT=5。全大写,下划线分割。
下次,我们再讲什么时候用常量。为什么要用常量。怎么用常量
网友评论