代码简洁之道
积累
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
15public 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
12public 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
18public 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
12public 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
7public void testFunction(){
for(int i = 0; i < array.length; i++){
if(condition1){
//doSomething
}
}
}
After:1
2
3
4
5
6
7
8pubic void testFunction(){
for(int i = 0; i < array.length; i++){
if(!condition1){
continue;
}
//doSomething
}
}
三目运算符
Before:1
2
3
4
5
6
7public String testFunctino(){
if(list.size() > 0) {
return "resultA";
} else {
return "resultB";
}
}
After:1
2
3public 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 编程风格指南