優化並不總是一蹴而就。
一. 合理減少代碼遞進層次
1. for循環場景
調整前:
public void fun(List<T> l) {
for(T t : l) {
doThing1(t);
if (condition) {
doThing2(t);
}
doThing3(t);
}
}
調整後:
public void fun(List<T> l) {
for(T t : l) {
fun(t);
}
}
/*
* 根據實際使用情況來定private或者public
*/
private/public void fun(T t) {
doThing1(t);
if (condition) {
doThing2(t);
}
doThing3(t);
}
減少一層遞進的同時,還能夠額外提供一個裏層的API。