代码结构及逻辑的一些思考

问题:

a函数是根据传入参数的不同类型,选择不同的函数去执行操作.但是在执行不同的函数之前,需要做一些数据上的处理,那么这部分处理是放在各个被调用的函数中还是放在a函数中统一处理好呢?
function a (args){
var abc
if (args =='1' || args =='2' || args =='5') {
var abc = args+"123";
}
if (args =='3' || args =='4') {
var abc = args+"456";
}
if (args =='1') doB(abc);
if (args =='2') doC(abc);
if (args =='3') doD(abc);
if (args =='4') doE(abc);
if (args =='5') doF(abc);
}
function doB(abc){
...
}
function doC(abc){
...
}
function doD(abc){
...
}
function doE(abc){
...
}
function doF(abc){
...
}


这种写法,看起来是把args统一处理了,但是在各个分处理的函数(如doB,doC等)中,还会有对于传入参数的处理,似乎就会存在逻辑混乱的问题,当做代码修改和维护的时候,如果是对于doB这个函数的处理,就必须得看两个部分的代码.先要从a开始跟踪,然后再是doB部分的代码处理.

还是写成
function a (args){   
if (args =='1' || args =='2' || args =='5') {
doB(abc,args);
}
if (args =='3' || args =='4') {
doC(abc,args);
}
if (args =='1') doB(abc);
if (args =='2') doC(abc);
if (args =='3') doD(abc);
if (args =='4') doE(abc);
if (args =='5') doF(abc);

}
function doB(abc){
var abc = args+"123";

...
}
function doC(abc){
var abc = args+"123";
...
}
function doD(abc){
var abc = args+"456";

...
}
function doE(abc){
var abc = args+"456";

...
}
function doF(abc){
var abc = args+"123";
...
}

这种写法逻辑不混乱了,但是,部分代码里有重复的部分存在.如果对于同一个类型的args做相同的修改,那么每次修改都要到各个相应的函数中去修改,如果忘修改一处,就会留下一个隐患.
但是,如果需要做的修改是,当args=='1',取的args值变为var abc = args+"789";
那么在做代码跟踪及修改的时候,就只需要关注doB就可以了,不需要再看a函数的处理.在这一点上,这种方式又是比较好的.

怎么做,才能保证代码的逻辑清楚,又能保证代码的修改时尽量少的更改代码?在两者存在矛盾的时候,取优先考虑哪一种呢?

个人倾向于第二种方式,但是还没有找到相应的理论依据,所以先在此记录下来,如有高手路过,也希望能有所指点
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值