`

尽量写功能单一的方法

阅读更多

 一个方法只做一件事,且仅仅只做一件事,使一个方法成为最小的一个单元。
这样能提高方法的原子行(不可再分),提高方法的灵活性。如果一个方法中包含了多个
功能,且多个功能相互依赖,这样提高了代码的耦合度,不利于维护。

 

 一个方法具有多个功能,别人在使用这个方法时,仅仅只想用其中的一个功能,也就是
一部分代码。然而还不能直接调用,因为方法的参数上哪儿弄去?其它功能要用的参数和我
需要用的那个功能要用的参数都在这个方法的参数列表里。怎么办,把那段代码抽出来,修改
修改,封装成我能用的一个方法,总不能去修改别人的劳动成果吧。这样一来,同样的一个功
能实现就写了两处代码。

 

所以一个方法,我们只做一件事,当我们需要完成一个大的功能时,就将一个大的功能
拆分成若干个小的方法。然后在一个方法中处理“业务逻辑”并调用写好的“功能性”方法。
这样一来,如果另一个人要使用这个功能,仅仅只需要写他自己的“业务逻辑”方法,在他的
业务逻辑方法中对“功能性方法”进行调用。这样一来,方法即使出错了,也可以快速的定位。
一般来说,一个功能性的方法写完就要进行反复的测试,当你的程序中调用了这个方法,而报错
了,你说是你业务逻辑出错了还是“功能性方法”出错了呢?如果我们把一个方法写的复杂,即使
出错了也很难定位,是我们调用这个方法时,该方法又调用了其它方法,又做了其它事,这找起
错来岂不要一层层定位,麻烦~~。

 

 使一个方法仅仅只做一件事,这样一来代码的耦合度降低了,可读性提高了,维护时效率
也高了。

分享到:
评论

相关推荐

    GPIO口功能测试方法

    一:测试点的选取应注意:在测量CPU输出GPIO信号时,应尽量靠近设备端;在测量CPU输入GPIO信号时,应尽量靠近CPU端。不然信号波形会出现过冲或者下冲以及台阶等fail现象。

    对于任意给定的输入串(词法记号流)进行语法分析,递归下降方法和非递归预测分析方法可以任选其一来实现。

    即对错误能提示,并且能在一定程度上忽略尽量少的记号来进行接下来的分析。可以参考书上介绍的同步记号集合来处理。 可能的出错情况:idid*id, id**id, (id+id, +id*+id …… 4. 输入串以#结尾,输出推导过程中...

    电子系统设计的基本方法.txt

    自顶向下法是一种概念驱动的设计方法, 自顶向下法是一种概念驱动的设计方法,该 方法要求在整个设计中尽量运用概念(抽象) 方法要求在整个设计中尽量运用概念(抽象)去 描述和分析设计对象, 描述和分析设计对象...

    项目功能流程图(struts项目)

    本流程图的结构是树形结构。节点分jsp、action和类文件三种。原理是由jsp开始。指向在jsp中要调用的action方法。每个要调用的action...这样做的目的是使流程的线不会相交,尽量避免混乱,但缺点是有可能增加工作量。

    扩展JavaScript功能的正确方法(译文)

    原文地址:Extending JavaScript – The Right Way以下是译文 JavaScript已经内置了很多强大的方法,但有时你需要的某个功能在内置的方法中没有,我们怎么来优雅地扩展JavaScript功能呢。 例如我们想增加一个...

    Drupal模块功能一览

    需要说明的是本文的目的不是详细介绍各个模块的设置和使用方法,所以没有原样照翻模块的文档说明,而是按自己的理解尽量简洁准确的概括出该模块的功能。俗话说‘百闻不如一见’,有的模块作者也给出了截屏图片或实例...

    图书管理系统课设说明书

    图书编号可参考国家统一的图书编码方法,再完成基本功能模块的情况下,尽量使系统能具有通用性。 图书管理系统主要涉及的数据表有图书基本信息表,借书卡信息表,借阅信息表,图书分类信息表等等。主要功能模块有: ...

    《笨方法学python》所有练习程序及笔记

    6、练习49,对主函数的补充和优化使其成为具有特定功能的可执行程序,并写有测试文件(测试文件仅供参考) 7、练习52,根据游戏设定自行编写的完整网页游戏,并进行了优化可全部正确运行。 8、最后还包含一份各练习...

    MHDD使用方法图解

    1、Mhdd是俄罗斯Maysoft公司出品的专业硬盘工具软件,具有很多其他硬盘工具软件所无法比拟的强大功能,它分为免费版和收费的完整版,本文介绍的是免费版的详细用法。这是一个G表级的软件,他将扫描到的坏道屏蔽到...

    三机配套的S弯检查方法

    三机配套是指煤矿综采工作面的液压支架、...介绍一种S弯检查方法,模拟采煤机及刮板输送机实际运行情况,在保证滚筒边与刮板输送机铲板之间安全距离的前提下,尽量减小铲间距,保证滚筒装煤效果,提高综采工作面生产效率。

    SQL Server数据库查询速度慢原因及优化方法

    索引应该尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段。 5、提高网速。 6、扩大服务器的内存,Windows 2000和SQL server 2000能支持4-8G的内存。 配置...

    将Linux代码移植到Windows的简单方法

    Linux拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法 正常编译的。Windows平台根本无法直接利用这些源...移植过程将尽量少修改代码,以便代码的运行逻辑不会发生任何变动。保留绝大部分软件主要功能。

    论文研究-求解TSP问题的改进模拟退火算法.pdf

    新算法增加了记忆当前最好状态的功能以避免遗失当前最优解,并设置双阈值使得在尽量保持最优性的前提下减少计算量。根据TSP和SA的特征设计了个体邻域搜索方法和高效的计算能量增量方法,加快了算法的运行速度。实验...

    mfc入门手册

    以下是我在最初学习VC时所常用的开发思路和方法,希望能对初学VC的朋友有所帮助和启发。 1、开发需要读写文件的应用程序并且有简单的输入和输出可以利用单文档视结构。 2、开发注重交互的简单应用程序可以使用...

    Eclipse配置Tomcat服务器,通用方法

    (2)Eclipse下载地址:(有些版本功能不全,请下载本人的版本eclipse-jee-mars-1-win32.zip) (3)下载eclipse关联tomcat的插件:http://www.eclipsetotale.com/tomcatPlugin.html(tomcatPluginV331.zip) 一定要...

    jquery插件使用方法大全

    可以用来添加不向外部公开的方法,或者对jQuery的某些方法进行重新定义以提供新功能,或者提供更好的封装、避免名称空间冲突。当然,也可以用来开发插件,但Resig强烈建议在开发插件之前,先考虑jQuery UI widget...

    java设计模式CatalogDAOFactory是典型的工厂方法

    工厂模式定义:提供创建对象的接口. ...由此可见,工厂方法确实为系统结构提供了非常灵活强大的动态扩展机制,只要我们更换一下具体的工厂方法,系统其他地方无需一点变换,就有可能将系统功能进行改头换面的变化。

    C#实现的上传图片、保存图片、加水印、生成缩略图功能示例

    保存图片、加水印和生成缩略图这三种功能最好各自放在单独的方法中,尽量降低耦合度,提高代码复用程度,除此之外我们平常写代码是也要尽量做到方法功能的唯一性。 前台代码: <form method=POST enctype=...

    python的pygame模块实现的带背景音乐点击前后按钮切换照片的电子相册

    相册图片尺寸尽量宽高一致。能学到什么?能学到python的pygame模块相关知识和使用方法,比如,给程序增加Pygame多媒体特性。能学到使用python的pygame模块时创建极度轻便的并且可以运行在几乎所有的平台和操作系统上...

Global site tag (gtag.js) - Google Analytics