积累

if else

[1]if-else代码优化的八种方案
结合短路理念,减少if else嵌套层数,尽早终止函数或返回数据,降低复杂度。
若if else分支过多,可以换用switch case

Before:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void testFunction(){
if(condition1){
if(condition2){
if(condition3){
//doSomething
}else{
return;
}
}else{
return;
}
}else{
return;
}
}

After:

1
2
3
4
5
6
7
8
9
10
11
12
public void testFunction(){
if(!condition1){
return;
}
if(!condition2){
return;
}
if(!condition3){
return;
}
//doSomething
}

如果返回值,可以尽早返回:
Before:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public String testFunction(){
String result = "";

if(condition1){
result = functionA();
}else{
if(condition2){
result = functionB();
}else{
if(condition3){
result = FunctionC();
}else{
result = FunctionD();
}
}
}
return result;
}

After:

1
2
3
4
5
6
7
8
9
10
11
12
public String testFunction(){
if(condition1){
return functionA();
}
if(condition2){
return functionB();
}
if(condition3){
return functionC();
}
return functionD();
}

在循环中结合continue跳过某个遍历元素、及时break跳出循环节约cpu

Before:

1
2
3
4
5
6
7
public void testFunction(){
for(int i = 0; i < array.length; i++){
if(condition1){
//doSomething
}
}
}

After:

1
2
3
4
5
6
7
8
pubic void testFunction(){
for(int i = 0; i < array.length; i++){
if(!condition1){
continue;
}
//doSomething
}
}

三目运算符

Before:

1
2
3
4
5
6
7
public String testFunctino(){
if(list.size() > 0) {
return "resultA";
} else {
return "resultB";
}
}

After:

1
2
3
public String testFunctino(){
return list.size() > 0 ? "resultA" : "resultB";
}

lambda 函数式编程

采用设计模式

Read More

[1] 那些不够优雅的java代码片段(一)
[2] 35 个 Java 代码性能优化总结
[3] JAVA基础之代码简洁之道
[4] 优雅的处理你的Java异常
[5] 如何优雅的处理异常(java)?
[6] 阿里巴巴Java开发手册
[7] Google Java 编程风格指南