代码重构~提取方法

简介:

提取方法 (Extract Method) — 意思是将大段代码中的一部分提取后,构成一个新方法;还有一个含义是将多个方法中公用的部分提供出来,形式一个新的方法,

这种重构可以使整段程序的结构变得更清晰,增加可读性,扩展性和可维护性。

如,有两个方法,它们的实现部分很雷同,看代码:

1 public string ChooseItem1()
2 {
3   return SelectItem(1);
4 }
5 
6 public string ChooseItem2()
7 { 
8  return SelectItem(2);
9 }

而事实上,chooseitem1与chooseitem2的方法体基本一至,只是为selectitem方法传参时,一个是传1,另一个是传2,而我们稍微对程序进行修改,它的表现

将会完全两样,看代码:

 1 private string ChooseItem(int value)
 2 {
 3   return SelectItem(value);
 4 }
 5 
 6 public string ChooseItem1()
 7 {
 8    return ChooseItem(1);
 9 }
10 
11 public string ChooseItem2()
12 {
13    return ChooseItem(2);
14 }

OK,感觉我们优化的代码比原来的代码多了,显得更麻烦了,其实则不然,这个代码是将可能发变的,公共的代码片断进行封装,然后再由别外方法去调用,这样

如果我们希望修改功能,只需要修改ChooseItem这个核心方法即可,而不需要一个一个的去拷贝代码。

本文转自博客园张占岭(仓储大叔)的博客,原文链接:代码重构~提取方法,如需转载请自行联系原博主。

目录
相关文章
|
6月前
|
自然语言处理 数据挖掘 Java
20源代码模型的数据增强方法:克隆检测、缺陷检测和修复、代码摘要、代码搜索、代码补全、代码翻译、代码问答、问题分类、方法名称预测和类型预测对论文进行分组【网安AIGC专题11.15】
20源代码模型的数据增强方法:克隆检测、缺陷检测和修复、代码摘要、代码搜索、代码补全、代码翻译、代码问答、问题分类、方法名称预测和类型预测对论文进行分组【网安AIGC专题11.15】
283 0
|
测试技术 程序员 数据库
关于重构需要知道的一些关键点
今天来聊一聊软件开发领域,经常被提及和讨论的话题:重构。
161 0
关于代码重构你应该知道的内容
关于代码重构你应该知道的内容
158 0
关于代码重构你应该知道的内容
|
JavaScript 前端开发 开发者
前端技术-抽取代码片段 | 学习笔记
简介:快速学习前端技术-抽取代码片段
122 0
抽取思维(重构设计)
抽取思维(重构设计)
591 0
抽取思维(重构设计)
|
JavaScript 前端开发
如何使用 splitChunks 精细控制代码分割(中)
前端小伙伴都知道,为了降低包大小,经常会把依赖的前端模块独立打包,比如把 vue、vue-router 打到一个单独的包 vendor 中。另外,常会将存在多个路由的复杂页面的每个页面都单独打一个包,只有访问某个页面的时候,再去下载该页面的js包,以此来加快首页的渲染。 无论是 react 还是 vue 都提供了完善的工具,帮我们屏蔽了繁琐的配置工作。当我们对代码进行构建时,已经自动帮我们完成了代码的拆分工作。 所以,很多小伙伴并不知道背后到底发生了什么事。至于为什么这么拆分,到底如何控制代码的拆分,更是一头雾水了。
|
JavaScript 前端开发
如何使用 splitChunks 精细控制代码分割(下)
前端小伙伴都知道,为了降低包大小,经常会把依赖的前端模块独立打包,比如把 vue、vue-router 打到一个单独的包 vendor 中。另外,常会将存在多个路由的复杂页面的每个页面都单独打一个包,只有访问某个页面的时候,再去下载该页面的js包,以此来加快首页的渲染。 无论是 react 还是 vue 都提供了完善的工具,帮我们屏蔽了繁琐的配置工作。当我们对代码进行构建时,已经自动帮我们完成了代码的拆分工作。 所以,很多小伙伴并不知道背后到底发生了什么事。至于为什么这么拆分,到底如何控制代码的拆分,更是一头雾水了。
|
JavaScript 前端开发
如何使用 splitChunks 精细控制代码分割(上)
前端小伙伴都知道,为了降低包大小,经常会把依赖的前端模块独立打包,比如把 vue、vue-router 打到一个单独的包 vendor 中。另外,常会将存在多个路由的复杂页面的每个页面都单独打一个包,只有访问某个页面的时候,再去下载该页面的js包,以此来加快首页的渲染。 无论是 react 还是 vue 都提供了完善的工具,帮我们屏蔽了繁琐的配置工作。当我们对代码进行构建时,已经自动帮我们完成了代码的拆分工作。 所以,很多小伙伴并不知道背后到底发生了什么事。至于为什么这么拆分,到底如何控制代码的拆分,更是一头雾水了。
|
自然语言处理 算法 JavaScript
重构的秘诀:消除重复,清晰意图
  11年前有幸阅读了《重构——改善既有代码的设计》第一版,当时是一口气读完的,书中的内容直接惊艳到我了。   今年读了该书的第二版,再次震撼到我了,并且这次的示例代码用的JavaScript,让我更有亲切感。   全书共有12章,前面5章是在讲解重构的原则、测试、代码的坏味道等内容,后面7章是各种经验和实践,全书的精髓所在。