先自嘲一下:我们懂得很多道理,却依然过不好这一生!
坐标:江西省赣州市于都县!
目前状态:穷狗囧狗一只,苟延残喘,苟且偷生ing
你懂的越多,不懂的也越多!
只有遭过社会的毒打,才知道努力有多重要!
成年人的世界没有一天是容易的!
有人说,我这是一篇"水文",你看到最后你就明白了!
言归正传,看代码吧!
public void fn1(){
for(int index = 0; index < 10; index++){
System.out.println("我是第一层循环" + index);
for(int count = 0; count < 6; count++){
System.out.println("我是第二层循环" + count);
for(int number = 0; number < 3; number++){
System.out.println("我是第三层循环" + number);
}
}
}
}
上面代码有什么问题?
上面代码的最大问题就是嵌套循环太多了,无形中增加了代码的复杂度,导致代码的可读性和可维护性变差!
建议大家,不要写超过2层的循环,如果超过2层循环了,那就把2层循环之外的循环单独提炼抽取成一个函数!
改成如下会不会更好一点;不一定要改成如下写法,仁者见仁,智者见智;
public void fn1(){
for(int index = 0; index < 10; index++){
System.out.println("我是第一层循环" + index);
for(int count = 0; count < 6; count++){
System.out.println("我是第二层循环" + count);
fn2(); //调用第二个函数即可
}
}
}
public void fn2(){
for(int number = 0; number < 3; number++){
System.out.println("我是第三层循环" + number);
}
}
大家思考一下,一个函数中,如果有6层,8层的嵌套循环,为了提高代码的可读性,我们该如何重构,重构思路是什么?这是我们要思考的问题,我这篇文章只不过是抛砖引玉而已,如果大家觉得这是一篇水文的话,那就是水文了!
如何写出好代码!
我觉得好代码就是要见名知意、通俗易懂、短小精简、简洁明了、可维护性好、可扩展性好、可阅读性好!
其实具体怎么写,还得看业务,没有什么统一的标准,其实我想表达的意思是,一个函数中,最好别嵌套太多层循环,要不然可读性非常糟糕!如下这种代码还是要少写!至于函数中多层嵌套循环怎么改写比较好,就看具体情况了!
//我想表达的是,在一个函数中,嵌套太多层循环,代码可读性和维护性就会变得比较糟糕了
public void fn1(){
for(int index1 = 0; index1 < 10; index1++){
for(int index2 = 0; index2 < 10; index2++){
for(int index3 = 0; index3 < 10; index3++){
for(int index4 = 0; index4 < 10; index4++){
}
}
}
}
}
如果一个函数中有多个嵌套循环,比如说有6个嵌套循环(假设这6个嵌套循环在业务上是属于关系比较紧密的,不太好拆分这6个嵌套循环);但是,如果是你,为了提高代码的可读性,你会怎么重构呢?能说说你们的重构思路?