java方法名命名规则-有机命名次序规则
JavaBean对于很多有经验的开发者并不陌生,而对于初出茅庐的初学者就未必有足够的认识。咱们今天不侃侃而谈大的框架java方法名命名规则,我们就说举重若轻的JAVA规范之JavaBean规范。
到底什么是JavaBean呢,我们从应用上来说,PO,VO,BO,POJO都是遵循JavaBean规范。我们一起从PO入手分析,首先PO是持久化对象,对于需要存储对象的模型,Java高级框架中对于需要持久化的对象需要使用PO类,需要为前端传递视图对象,可组建VO对象。那么从这里看出我们根据需求组建的是一类对象,而高级框架具有通用性,势必这类对象与逻辑无关,有自己的一套规则:
1)所有的属性私有
2)对所有的私有属性提供Getter和Setter访问器(私有属性的get&set方法)
3)至少提供空构造
上述是javabean必须满足的条件,还有些新手容易忽略的地方,在使用高级框架的时候,就会出现不易察觉的问题,我们来一起看一下:
1)属性为userName,通常get和set方法为:getUserName和setUserName
2)属性为boolean类型,那么get方法则需要更改为is,比如一个boolean属性alive,那么get方法则应该写isAlive
3)那么框架通过反射会通过将set|get|is部分分离,将开头字母小写就会得到属性,那么此时可以完全的还原为userName属性,不会发生问题。
命名规范,最好不要将第二个字母大写。
比如我们简写userName属性为uName,此时我们自己手动生成getter和setter访问器,结果若是getUName和setUName就错了,这是特殊形况,正确的结果应该是getuName和setuName。
是不是吓一跳,使用这么久竟然没发现。
再来看有实际应用,却不是规范的两种情况:
第一种情况:如果前两个字母是大写。
也是属性名直接用作 getter/setter 方法中 get/set 的后部分。例如属性名为URL,方法是getURL/setURL。
第二种情况:如果首字母大写。
也是属性名直接用作 getter/setter 方法中 get/set 的后部分。例如属性名为Name,方法是getName/setName,这种是最糟糕的情况,会找不到属性出错,因为默认的属性名是name。
那么对于javabean的私有属性,要么前两个字母全部大写java方法名命名规则,要么前两个字母全部小写,这样就不会掉入Javabean的坑。
(图文无关,仅是一份对程序员的视力关爱)