Android技术知识Android开发经验谈Android开发

代码重构的场景总结

2018-10-09  本文已影响56人  奔跑吧李博

核心思想:拆细、公用

重构可以是修改变量名、重新安排目录这样简单的物理重构,也可以是抽取子函数、精简冗余设计这样稍许复杂的逻辑重构。但均不改变现有代码的功能。

了解敌人——丑陋的代码

重构之道

if(stateCode = OK && datas != null && canShow)

function(Math.random((num1-num2)*num3))

如上这种长长的判断条件和参数会使 这种代码应该先将if判断条件写成一个变量,放入变量判断,将function参数写一个局部变量保存结果,再传入方法。

public void requestPhoneThirdRegister(String loginway, String nickname, String openId, String token, String expires, String phone, final CallBackimpl callBackimpl)

用这样的方法直接传参数就太长了,严重降低代码可读性。我们可以将参数变量写到一个实体类中,通过构造方法初始化对象属性值,只需要传递一个对象就搞定,也解决了增减参数带来的变动问题。

     if(){
            if(){
                if(){

                }
            }
        }else{

        }

相信大家也见识过不少这样的箭头代码,像怎么也解不开的死结。遇到这种代码,一定要尽可能要优化。通常做法:判断语句,if条件成立,执行代码块,诶,这样就生成了一个嵌套层级。
优化的核心思想:直接判断不满足的条件,if条件成立,直接return,尽快跳出方法来减少嵌套的层级。
第二种:将条件判读合并

    private boolean isChecked(){
        if(){
            return true;
        }
    }

一个条件方法。

if(!isChecked()){
      
}

然后用否定来判断这个条件,这样可能会一时之间转变不过来导致条件判断反了。当然头脑灵活的忽略这条。

上一篇 下一篇

猜你喜欢

热点阅读