您的位置:首页 > 编程语言

J2EE实训第二章之环境配置和代码风格

2013-05-22 02:54 162 查看
因为都是一键安装,所以说也没有多少可以说的,所以就和代码风格一起来讲了。而这一章的内容最终会形成文档具体描述,所以我这里就简单说明一下。

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,强制使用这种命名手段。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: