`
vishare
  • 浏览: 9133 次
  • 性别: Icon_minigender_2
  • 来自: 南宁
最近访客 更多访客>>
社区版块
存档分类
最新评论

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

    博客分类:
  • js
 
阅读更多
问题:

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函数的处理.在这一点上,这种方式又是比较好的.

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

个人倾向于第二种方式,但是还没有找到相应的理论依据,所以先在此记录下来,如有高手路过,也希望能有所指点
分享到:
评论

相关推荐

    75道逻辑思考题(答案).rar

    逻辑思考能力能帮助我们分析问题,选择合适的数据结构和算法,以最优的方式解决问题。 3. **问题解决**:在遇到技术难题时,逻辑思维可以帮助我们分析问题的根源,制定解决方案,并预测可能的结果。 4. **系统设计...

    75道逻辑思考题.rar

    同时,对于数据结构和算法的学习,也需要强大的逻辑思考能力,因为这涉及到如何设计和分析复杂的数据处理流程。 综上所述,这个压缩文件中的75道逻辑思考题不仅可以锻炼个人的逻辑思维,也可以帮助提高在IT领域中的...

    75道逻辑思考题及其答案

    计算机行业对员工的逻辑思维能力有较高要求,因此在面试时,逻辑思考题是常见的一环,用于测试候选人的编程思维、算法理解及问题解决能力。 文件名“75道逻辑思考题(答案).doc”和“75道逻辑思考题.doc”暗示了...

    C语言程序设计试题包括逻辑思考题以及编程试题

    在程序设计大赛中,C语言常常作为首选语言,特别是在解决算法和逻辑思考问题时。参赛者需要熟悉C语言的基本语法、控制结构、数据类型、函数、指针等核心概念。 编程环境VC++6.0是一个经典的C/C++开发工具,由...

    数字逻辑电路基础思考题及解析.pdf

    - **结构简单**:数字电路的设计和制造相对简单,易于集成。 - **便于集成化**:数字电路易于大规模集成,实现更复杂的功能。 - **可靠性高**:数字电路的稳定性和可靠性高于模拟电路。 - **成本低廉**:随着...

    程序员极品逻辑判断力测试题100道

    这类PDF文档通常结构清晰,每道题目会有明确的陈述,可能还会包含一些示例代码或解题思路,帮助读者理解并解答。 通过完成这样的逻辑思维测试,程序员可以: 1. 锻炼逻辑推理能力:学习如何从已知条件推断出未知...

    简单的逻辑学

    ### 描述:“简单的逻辑学,把逻辑搞明白,就能高效写代码” 这段描述进一步明确了学习逻辑学的目的之一是提高编程效率。在编程中,逻辑思维是非常重要的,无论是设计算法还是解决程序中的bug,都需要清晰的逻辑...

    测试你的逻辑及编程问题

    “测试你的编程水平 逻辑水平 题后会公布答案”这部分说明了测试的目标:除了编程技能,还关注逻辑思考。在测试结束后,答案会被公开,这有助于学习者自我评估和理解错误,促进自我提升。 文件列表中提到了...

    程序员 笔试 逻辑题

    通过逻辑题,面试官可以评估你是否能清晰地思考问题,是否能够把复杂的问题分解为可处理的部分,并用代码实现。 C++作为面向对象的编程语言,其类和对象的概念是解决逻辑问题时的重要工具。例如,你可以创建一个类...

    训练逻辑思维的100道趣题

    在编程中,逻辑推理能力用于编写条件语句、循环结构,以及调试和优化代码。 2. **布尔逻辑**:在计算机科学中,布尔逻辑(AND, OR, NOT)是编程语言中的核心概念,用于处理真与假的状态。解题时,可以通过布尔运算...

    数字逻辑实验报告样本

    总的来说,一份优秀的数字逻辑实验报告不仅应展示实验操作的细节,还应体现对数字逻辑原理的深入理解及问题解决能力。通过这样的实验,学生能够将理论知识转化为实践技能,为将来在IT领域的职业生涯打下坚实基础。

    数据结构代码例子

    数据结构是计算机科学中的核心概念,它涉及到如何在内存中有效地组织和管理数据,以便进行高效的操作。...在学习过程中,不仅要理解代码的逻辑,还要思考如何优化和改进,以提升你的编程技能和问题解决能力。

    《训练逻辑思维的100道趣题》C#程序版

    《训练逻辑思维的100道趣题》C#程序版是一本专为提升编程者逻辑思维能力设计的书籍,通过一系列精心设计的题目,帮助读者深入理解和掌握C#语言中的逻辑运算、控制结构以及问题解决策略。这些题目涵盖了基础到高级的...

    逻辑学》上卷 作者:[德]黑格尔

    例如,在软件设计过程中,理解事物之间的关系(如同一性与差异性)可以帮助开发者更好地组织代码结构;而在人工智能领域,理解变化与发展有助于构建更智能的学习算法。因此,《逻辑学》上卷不仅对于哲学研究有着深远...

    程序逻辑题(100道)

    1. 条件判断:这是编程中最基础的逻辑结构,如if-else语句,用于根据不同的条件执行不同的代码块。例如,你可以遇到判断一个数字是否为正、负或零的问题。 2. 循环控制:循环结构如for、while等,用于重复执行一段...

    75道逻辑思维测试答案

    解答过程中,不断挑战自我,理解各种逻辑结构和思维方式,将使你在面对复杂的编程问题时更加得心应手。因此,无论是初级程序员还是经验丰富的IT专家,都应该定期进行这样的练习,以保持思维敏锐。

    少儿scratch编程项目源代码文件案例素材-思考作品.zip

    《少儿scratch编程项目源代码文件案例素材-思考作品.zip》是一个专门为儿童设计的编程学习资源,其中包含了使用Scratch编程语言创建的项目源代码。Scratch是由麻省理工学院(MIT)的“终身幼儿园团队”开发的一款...

    数据结构课程设计程序代码及课程设计报告

    本资源“数据结构课程设计程序代码及课程设计报告”提供了一个全面的学习框架,旨在帮助计算机专业的学生理解和实施数据结构的设计与应用。 课程设计通常涵盖以下几个方面: 1. **数据结构的选择与实现**:包括...

    逻辑思维训练之8-10(含思维过程图)

    总的来说,这个压缩包提供了从实际编程实践到逻辑思考可视化的一系列训练素材,对于提升IT专业人士的逻辑思维能力和问题解决技巧大有裨益。无论是初学者还是经验丰富的开发者,都可以从中获益,通过理论与实践相结合...

    数字逻辑实验指导书书

    总之,《数字逻辑实验指导书》不仅是学生掌握数字逻辑知识的实用指南,也是培养他们独立思考和动手能力的宝贵资源。通过一系列精心设计的实验,学生将在实践中不断提升自己,为未来在IT领域或电子工程领域的发展打下...

Global site tag (gtag.js) - Google Analytics