zoukankan      html  css  js  c++  java
  • 3.3 函数设计与使用

      大家在初中数学课程中就有学习过函数的概念,函数表示从自变量到因变量之间的一种映射或对应关系。软件开发中的函数也具有相似的含义,也是把输入经过一定的变换和处理最后得到预订的输出。从外部看,函数就像一个黑盒子,不需要了解内部原理,值需要了解其接口或使用方法即可。

      在软件开发过程中,经常有很多操作是完全相同或者是非常相似的,仅仅是要处理的数据不同而已,因此经常在不同的代码位置多次执行相似或完全相同的代码块。很显然,从软件设计和代码复用的角度来讲,直接将该代码块复制到多个相应位置然后进行简单修改绝对不是一个好主意。虽然这样可以使得多份复制的买吗可以彼此独立的进行修改,单这样不仅增加了代码量,也增加了代码阅读、理解和维护的难度,更重要的是为代码测试和纠错带来了很大的困难。一旦被复制的代码块将来某天被发现存在问题而需要修改,则必须对所有的复制都做同样正确的修改,这在实际中是很难完成的意向任务。由于代码量的大幅度增加,导致代码之间的关系更加复杂,很可能在修补就漏洞的同事又引入了新漏洞。因此,应尽量减少使用直接复制代码块的方式来实现复用。解决这个问题的邮箱方法是设计函数(function)和类(class)。

      将可能反复执行的代码封装为函数,并在需要执行该段代码功能的地方进行调用,这不仅可以实现代码的复用,更重要的是可以保证代码的一致性,只需要修改该函数代码则所有调用位置均得到体现。同事,把大任务拆分成多个函数也是分治法的经典应用,复杂问题简单化,使得软件开发像搭积木一样简单。淡然,在实际开发中,需要对函数进行良好的设计和优化才能充分发挥其优势。在编写函数时,有很多原则需要参考和遵守,例如,不要在用以函数中执行太多的功能,尽量只让其完成一个高度相关且大小合适的功能,以提高模块的内聚行。另外,尽量减少不同函数之间的隐式耦合,例如减少全局变量的使用,是的函数之间仅通过调用和参数传递来显式体现其相互关系。

      

  • 相关阅读:
    Mysql性能优化之---(一)
    好好思考之(二)---介绍什么是思维模型,分析它的本质内涵
    好好思考-----概述(一)
    oracle 的安装 及环境的配置...
    数据结构中的树
    生成SSH秘钥连接github(详细教程)
    后端 SpringBoot + 前端 vue 打包发布到Tomcat
    vue 轮播图
    vue文字向上滚动
    数组去重
  • 原文地址:https://www.cnblogs.com/avention/p/8588847.html
Copyright © 2011-2022 走看看