在线报名 | 加入收藏 | 学校地图

电话:400-0379-707 QQ:710034203

首页 > 学习园地 > Java学习 > 正文阅读

洛阳北大青鸟:分析总结Java中常见的违规编码

发布时间:2012-09-22 16:45:58 点击:0
洛阳北大青鸟导读:一、Eclipse编译器提供源代码格式输入Eclipse提供自动源码格式选项,并且组织输入(删除未使用的代码)。你可以使用下面的这些快捷键进行操作。Ctrl + Shift + F--源代码格式Ctrl + Shift + O--组织输入并...

 

一、Eclipse编译器提供源代码格式输入

Eclipse提供自动源码格式选项,并且组织输入(删除未使用的代码)。你可以使用下面的这些快捷键进行操作。

Ctrl + Shift + F--源代码格式

Ctrl + Shift + O--组织输入并删除未使用的代码

代替手动调用这两个函数,只需根据Eclipse自动格式和自动组织选项,可以随时保存文件。

操作步骤,在Eclipse中进入Window -> Preferences -> Java -> Editor -> Save Actions,然后以选定的方式保存,最后检查Format source code + Organize imports.

二、避免多个返回(退出点)

依照你的方法,确保只有一个退出点。不要在同一个地方或多个地方使用返回。比如,下面的代码,NOT RECOMMENDED(不建议),这是因为有多个退出点(返回语句)。

1.private boolean isEligible(int age){

2. if(age > 18){

3. return true;

4. }else{

5. return false;

6. }

7.}

下面的代码有所提升,这是更高版本的。

1.private boolean isEligible(int age){

2. boolean result;

3. if(age > 18){

4. result = true;

5. }else{

6. result = false;

7. }

8. return result;

9.}

三、简化if-else

我写了几个实用的方法作为参考,检查语句条件并且基于该条件返回值。比如,考虑到isEligible方法,正如你之前所看到的:

1.private boolean isEligible(int age){

2. boolean result;

3. if(age > 18){

4. result = true;

5. }else{

6. result = false;

7. }

8. return result;

9.}

整个方法以一个单一的return语句重新编写:

1.private boolean isEligible(int age){

2.3.return age > 18;

4.5.}

四、不要给Boolean, Integer或者String创建新的实例

避免给Boolean,Integer,String创建新的实例。比如,使用new Boolean(true),Boolean,valueOf(true)。修改后的语句与之前的效果基本相同,除了在性能上有所提升。

五、使用大括号模块语句

永远别忘了使用大括号模块语句比如if、for、while.这样做的好处是当你在修改模块级语句时减少了模糊代码并且避免引进bug的机会。

不建议:

1.if(age > 18)

2. result = true;

3.else

4. result = false;

建议:

1.if(age > 18){

2. result = true;

3.}else{

4. result = false;

5.}

六、以final类型标记方法参数,任何时候都适用

请记住,以final类型标记方法参数,任何时候都适用。这样做的好处在于当你不小心修改参数值时,编译器会给你警告,同时它还能以更好的方式优化编译器代码字节。

建议:

private boolean isEligible(final int age){ … }

七、在UPPERCASE中命名public static final字段

在UPPERCASE中命名public static final字段(通常也被称之为常量)。这个可以让你轻松区分常量字段和局部变量之间的不同。

不建议:

public static final String testAccountNo = "12345678";

建议:

public static final String TEST_ACCOUNT_NO = "12345678";,

八、组合成单一的if语句

在尽可能多的情况下,把多个if语句组合成单一的if语句,比如下面的代码:

1.if(age > 18){

2. if( voted == false){

3. // eligible to vote.

4. }

5.}

合并成单一的if语句:

1.if(age > 18 && !voted){

2. // eligible to vote

3.}

九、Switch应该有default

始终给Switch语句添加default.

十、使用常量来避免重复定义相同的字符串值

如果你在多个地方必须使用字符串,那么使用常量来避免重复定义拥有相同值的字符串。

比如,看下面的代码:

1.private void someMethod(){

2. logger.log("My Application" + e);

3. …

4. …

5. logger.log("My Application" + f);

6.}

string literal"我的应用"可以作为常量并且能在代码中使用。

1.public static final String MY_APP = "My Application";

2.

3.private void someMethod(){

4. logger.log(MY_APP + e);

5. …

6. …

7. logger.log(MY_APP + f);

8.}

热词搜索: 洛阳北大青鸟 Java
分享该网页到:   转播到腾讯微博  分享到QQ空间
  • ①理论课
  • ②上机课
  • ③职业导向训练(COT)
  • ④指导学习课(DLC)
  • ⑤项目案例课
  • ⑥在线培训课(OLTL)
  • ⑦阶段项目课
  • ⑧毕业设计课
人才招聘 | 视频专区 | 专题活动 | 认证查询 | 网站地图