J2EE实训第二章之环境配置和代码风格
2013-05-22 02:54
162 查看
因为都是一键安装,所以说也没有多少可以说的,所以就和代码风格一起来讲了。而这一章的内容最终会形成文档具体描述,所以我这里就简单说明一下。
1.首先对命名来一个限定吧,我会给出不规范的例子,还有建议使用的例子,但是仅仅供大家参考,希望大家能够统一一下。(大部分我都参考了《代码整洁之道》)
1.1 名副其实
为变量取一个一看就能知道它意思的名字,如果需要用注释来补充说明变量是什么意思,那么就不算是名副其实。如下:
而我们应该推荐如下的命名:
在代码中严禁出与字面常量比较的情况,请为这个常量取一个大家都能理解的名字。
1.2 避免误导
避免难以理解的缩写(在用这个缩写的时候,可以问问看别人是否知道代表什么意思)
严禁使用accountList来指称一组账号,除非它真的是List类型。
严禁使用不同之处较小的名称,比如两个变量如下:XYZControllerForEfficientHandlingOfStrings和XYZControllerForEfficientStorageOfStrings。(当然这两个变量名都太长了)。
1.3 做有意义的区分
一定要提供正确的容易区分的信息,比如说下面四个函数名,大家可以自己先猜一下他们是干什么的?
上面这样的情况就是我们需要避免的,比如info和data有和没有其实没有多少区别,是含义很模糊的一个概念,基本上可以去掉,其他的诸如moneyAmount和money,theMessage和message其实也都没有什么区别。
1.4 使用读得出来的名称
再次强调,尽量避免简写,比如函数genymdhms如果我不加注释,你也不看函数体,基本上是不知道函数是做什么的,而它其实是产生一个时间戳的函数,而即使你现在知道了他的用途,但是你能读出这个函数吗?很拗口吧,所以建议大家还是使用如下的函数定义:
1.5 使用可搜索的名称
这个是针对我刚刚说过的尽量不要在逻辑代码里面出现字面常量,这样也方便了我们到时候修改。尽量定义成一个宏会比较好(虽然Java里面不叫宏)。
1.6 不要使用编码风格
匈牙利标记法和成员前缀都要遗弃,匈牙利标记法已经是面向过程遗留下来的产物了,我们现在凭借IDE已经能够快速的知道变量的类型之类的信息。而m_之类的成员前缀,==我自己觉得是一个累赘,最好还是别加上去吧。
1.7 对于接口还有实现,也不要加I前缀之类的了,考虑给类取一个好名字吧。
1.8 方法名,我建议采用动词或者名词短语,比如postPage、deletePage、saveProperties都是可以的。属性访问器和修改器,在变量名之前加上get和set前缀;断言则在变量名之前机上is前缀。(下面这个建议大家可以依照自己的喜好来使用)如果你考虑要重载构造器,那么可以试着使用工厂模式,例如:
通过好于
可以考虑将相应的构造器设置为private,强制使用这种命名手段。
1.首先对命名来一个限定吧,我会给出不规范的例子,还有建议使用的例子,但是仅仅供大家参考,希望大家能够统一一下。(大部分我都参考了《代码整洁之道》)
1.1 名副其实
为变量取一个一看就能知道它意思的名字,如果需要用注释来补充说明变量是什么意思,那么就不算是名副其实。如下:
int d;//消逝的时间,以日计
而我们应该推荐如下的命名:
int elapsedTimeInDays; int daysSinceCreation; int daysSinceModification; int fileAgeInDays;
在代码中严禁出与字面常量比较的情况,请为这个常量取一个大家都能理解的名字。
1.2 避免误导
避免难以理解的缩写(在用这个缩写的时候,可以问问看别人是否知道代表什么意思)
严禁使用accountList来指称一组账号,除非它真的是List类型。
严禁使用不同之处较小的名称,比如两个变量如下:XYZControllerForEfficientHandlingOfStrings和XYZControllerForEfficientStorageOfStrings。(当然这两个变量名都太长了)。
1.3 做有意义的区分
一定要提供正确的容易区分的信息,比如说下面四个函数名,大家可以自己先猜一下他们是干什么的?
getActiveAccount(); getActiveAccounts(); getActiveAccountInfo(); getActiveAccountData();
上面这样的情况就是我们需要避免的,比如info和data有和没有其实没有多少区别,是含义很模糊的一个概念,基本上可以去掉,其他的诸如moneyAmount和money,theMessage和message其实也都没有什么区别。
1.4 使用读得出来的名称
再次强调,尽量避免简写,比如函数genymdhms如果我不加注释,你也不看函数体,基本上是不知道函数是做什么的,而它其实是产生一个时间戳的函数,而即使你现在知道了他的用途,但是你能读出这个函数吗?很拗口吧,所以建议大家还是使用如下的函数定义:
generateTimestamp()
1.5 使用可搜索的名称
这个是针对我刚刚说过的尽量不要在逻辑代码里面出现字面常量,这样也方便了我们到时候修改。尽量定义成一个宏会比较好(虽然Java里面不叫宏)。
1.6 不要使用编码风格
匈牙利标记法和成员前缀都要遗弃,匈牙利标记法已经是面向过程遗留下来的产物了,我们现在凭借IDE已经能够快速的知道变量的类型之类的信息。而m_之类的成员前缀,==我自己觉得是一个累赘,最好还是别加上去吧。
1.7 对于接口还有实现,也不要加I前缀之类的了,考虑给类取一个好名字吧。
1.8 方法名,我建议采用动词或者名词短语,比如postPage、deletePage、saveProperties都是可以的。属性访问器和修改器,在变量名之前加上get和set前缀;断言则在变量名之前机上is前缀。(下面这个建议大家可以依照自己的喜好来使用)如果你考虑要重载构造器,那么可以试着使用工厂模式,例如:
Complex fulcrumPoint = Complex.FromRealNumber(23.0);
通过好于
Complex fulcrumPoint = new Complex(23.0);
可以考虑将相应的构造器设置为private,强制使用这种命名手段。
相关文章推荐
- J2EE7环境安装配置
- 基于ECLIPSE的J2EE和本地应用程序开发的JAVA环境配置
- 编译安装MySQL ,J2EE环境配置
- 第二章 开发环境配置
- windows配置JDK+eclipse+tomcat J2EE开发环境的搭建
- web服务器配置(J2EE环境配置)
- 配置J2EE环境
- eclipse一个项目中同时开发flex和j2ee的环境配置
- Ubuntu Linux下的J2EE(JAVA EE)环境配置
- J2EE环境安装配置
- eclipse j2ee 开发环境配置
- J2EE入门视频教程第四讲——数据库技术简介及环境配置
- JBoss+MyEclipse+Mysql 的J2EE环境配置。
- Linux巩固记录(1) J2EE开发环境搭建及网络配置
- 《coredump问题原理探究》Linux x86版第二章coredump捕获的环境配置
- J2EE环境配置与工具使用
- J2EE 工具及配置环境搭建详细步骤
- Eclipse下J2EE开发环境配置
- Ubuntu下J2EE环境配置
- 在CentOS6.5中安装与配置J2EE环境