基于软件度量的函数提取重构初探

基于软件度量的函数提取重构初探

ID:28060293

大小:18.44 KB

页数:6页

时间:2018-12-08

基于软件度量的函数提取重构初探_第1页
基于软件度量的函数提取重构初探_第2页
基于软件度量的函数提取重构初探_第3页
基于软件度量的函数提取重构初探_第4页
基于软件度量的函数提取重构初探_第5页
资源描述:

《基于软件度量的函数提取重构初探》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了确保“教学点数字教育资源全覆盖”项目设备正常使用,我校做到安装、教师培训同步进行。设备安装到位后,中心校组织各学点管理人员统一到县教师进修学校进行培训,熟悉系统的使用和维护。基于软件度量的函数提取重构初探  摘要:本文从软件度量的角度分析了可被实施函数提取重构的代码序列特征,并提出了一种基于软件度量的函数提取重构方法。  关键词:度量;代码重构;方法提取  中图分类号:文献标识码:A文章编号:1007--0254-01  软件开发开发是一项智力活动,而且不同于一般的实体产品,软件在开发过程中甚至在完成之后,仍会面临客户的需求变更。变

2、更将导致软件的修改。因此,随着软件开发的深入推进,随着软件系统的演化,软件结构也会越来越复杂。重构是一种通过对代码结构进行修改,能够有效改善代码质量的行为。对软件代码中某些函数复杂臃肿的函数进行函数提取重构,分解函数功能,降低函数复杂性,是一种提高代码质量的有效手段。  1函数提取重构的模型  函数提取重构基本概念为了充分发挥“教学点数字教育资源全覆盖”项目设备的作用,我们不仅把资源运用于课堂教学,还利用系统的特色栏目开展课外活动,对学生进行安全教育、健康教育、反邪教教育等丰富学生的课余文化生活。为了确保“教学点数字教育资源全覆盖”项目

3、设备正常使用,我校做到安装、教师培训同步进行。设备安装到位后,中心校组织各学点管理人员统一到县教师进修学校进行培训,熟悉系统的使用和维护。  函数提取重构是软件开发中最常用的重构手段之一,是指从已有代码序列中提取部分代码创建一个新的函数。函数提取重构通常发生在某个函数过长,或者包含多种不同功能的时候。在这些场景下,往往需要注释才能让人理解它的用途。在函数提取重构中,首先需要判断某个函数是否需要重构,可行性如何;然后,如果确定需要重构,则选取某些连续的代码片段;之后,创建一个新的函数,将所选中的代码片段提取到新函数中,并为新函数确定参数和

4、返回值;最后,在原函数中的代码片段会被一个对新函数的调用所替代。虽然不连续的代�a片段也存在被重构的可能,但这种重构非常复杂,在实践中往往极少实施,本文也只考虑连续代码片段的重构。函数提取重构有多种好处:首先,减小函数粒度,增大函数的可复用性;其次,使得处于代码高层的函数代码简单易懂;此外,单一功能且细粒度的函数的理解和维护都会容易些[1]。  函数提取重构的可行性分析  重构的基本目的是使代码更易于理解和维护。除此之外,函数提取重构的目的还包括增加代码的可复用性,如果两个或多个不同的函数包含一段相似的代码,即可将这段代码提取为一个新的

5、函数,在原来的代码中调用新函数。因此,我们总结了适用于函数提取重构的一些场景:函数过长或控制结构过于复杂,导致阅读和理解困难;某个函数完成了两个或两个以上的相对独立的功能,这种情况下应该将对函数进行分解,将每个功能对应的代码提取成一个函数,使每段代码的含义更加清晰,增加了代码的可复用性;多个函数具有相似或相同的代码序列,这种情况可以实施函数提取重构提高代码复用性。为了充分发挥“教学点数字教育资源全覆盖”项目设备的作用,我们不仅把资源运用于课堂教学,还利用系统的特色栏目开展课外活动,对学生进行安全教育、健康教育、反邪教教育等丰富学生的课余

6、文化生活。为了确保“教学点数字教育资源全覆盖”项目设备正常使用,我校做到安装、教师培训同步进行。设备安装到位后,中心校组织各学点管理人员统一到县教师进修学校进行培训,熟悉系统的使用和维护。  函数提取重构的适用场景也是有限制的,需要满足某些特定的抽取条件。一个基本条件是被提取的代码都位于同一个函数内部,不能起始于一个函数,终止于另一个函数,那样的重构会使程序出错。此外,之前所述的非连续代码片段,其重构也非常复杂。本文对函数提取重构的可适用代码片段进行了更严格的界定,认为满足以下条件的代码序列也不应该进行重构:代码序列中含有终止执行所在函

7、数的代码,比如return语句、exit语句、panic语句等终止语句;代码序列中含continue、break等跳转语句,但跳转语句的目标在该所选择的代码序列之外;代码序列不完整的,例如开头或结尾含有注释但提取后注释不完整,括号被拆分等,这类重构会造成语法错误。  2程序复杂性度量模型  函数提取重构的基本目的是便于软件维护,因此我们借鉴软件度量中可维护性指数的概念,提出了面向该重构的程序复杂性度量模型,用于判断某个函数是否需要实施函数提取重构。使用这个模型对软件系统中的所有函数进行检查,判断函数的可维护性,如果函数的可维护性过低,就

8、认为该函数应该被重构。为了充分发挥“教学点数字教育资源全覆盖”项目设备的作用,我们不仅把资源运用于课堂教学,还利用系统的特色栏目开展课外活动,对学生进行安全教育、健康教育、反邪教教育等丰富学生的课余文化生活

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。