作为开发人员,总是会遇到接手别人的二手项目,一般接手之后基本都会修改或者优化。这边也是,接手了一个二手项目,一些优化小细节总结下,也为自己以后优化多张张经验。积少成多嘛。
1. 优化前:
boolean push = SPUtil.getBoolean(getApplicationContext(), ConstantsUtil.PUSH, true); if (push) { cbPush.setChecked(true); } else { cbPush.setChecked(false); }也不知道想表达什么,反正当时还看了半天想着这业务逻辑,最后也是突然大悟
优化后:
boolean push = SPUtil.getBoolean(getApplicationContext(), ConstantsUtil.PUSH, true); cbPush.setChecked(push);2.优化前:
new Handler().postDelayed(new Runnable() { @Override public void run() { if (TextUtils.isEmpty(openid) ) { startActivity(new Intent(SplashActivity.this, ChooseLoginActivity.class)); } else { if (2 == loginType) { startActivity(new Intent(SplashActivity.this, DseignerMainActivity.class)); } else if (4 == loginType) { startActivity(new Intent(SplashActivity.this, ClerkMainActivity.class)); } else { startActivity(new Intent(SplashActivity.this, ChooseLoginActivity.class)); } } finish(); } }, 500);看到这么多if else 肯定很头疼把,来看看我优化后的
优化后:
new Handler().postDelayed(new Runnable() { @Override public void run() { if (TextUtils.isEmpty(openid) ) { startChooseLoginActivity(); } else { isLoginType(loginType); } finish(); } }, 500); } private void isLoginType(int loginType){ switch (loginType){ case 2: startActivity(new Intent(SplashActivity.this, DseignerMainActivity.class)); break; case 4: startActivity(new Intent(SplashActivity.this, ClerkMainActivity.class)); break; default: startChooseLoginActivity(); break; } } private void startChooseLoginActivity(){ startActivity(new Intent(SplashActivity.this, ChooseLoginActivity.class)); }虽然代码量相差不多,但是逻辑比较清晰,也容易阅读

