作为一个程序员,大部分时候,如果不是一个人承包整个项目,那么有1/3的时间在写代码,1/3的时间在看别人写的代码,剩下的1/3的时间在摸鱼。
那么如何提高摸鱼的时间?看别人写代码十分头疼,分分钟想骂人,自己却又写得龙飞凤舞,接下来,来看看如何进行代码重构,来提升一下自己的大神气质。
程序猿大部分时间都在与函数打交道,我们都希望看到前前前同事写的函数代码具有这样特点:
1)有助于代码复用
2)独立出来的函数更容易被覆写,一个项目开发完了,可能会重复迭代,次数多了,自己都看不懂自己写的代码。
如果处理链接上的页数跳转,当页数大于或者小于总页数的时候去首页,其他正常跳转:
if(currPage <=0 || currPage >totalPages){
currPage = 0;
jump(currPage);// 跳转
}else {
jump(currPage);// 跳转
}
可以把公共的部分独立出来:
if(currPage <=0 || currPage >totalPages){
currPage = 0;
}
jump(currPage);// 跳转
如果代码不满足当前设定的条件,那么对下面的代码不再感兴趣,那应该在不感兴趣的时候就提供出口,而不需要再继续执行下面大量的、对预期结果无用的代码。
有时候一个函数可以接收多个参数,而参数的数量越多,函数越难理解和使用,这时候可以把参数放入一个对象内,然后把参数传入对象中使用。这样就不必关心参数的数量和顺序了,只要保证key不变就可以了。
我们需要搞清楚设置为参数的变量的具体意义,当一个函数不需要参数就能够使用的时候,是深受开发者喜爱的。
如果条件太多,目运算符就会变得沉重,这样修改起来也是很吃力的。
要写有什么用,而不是复述代码
如下,这样的注释是不是还不如不写:
/*
* 定义了一个变量,当show等于1的时候,fresultData等于show的时候,值为pagesList_1,否则为:pagesList_2
*/
let resultData = show==1?:pagesList_1:pagesList_2 ;
对比:
let resultData = show==1?:pagesList_1:pagesList_2 ;// 1: A类订单结果,其他值:B类订单结果
比如使用双重循环,内部循环达到某个临界值的时候跳出循环,这时候使用return比使用break可读性更高。