开发者社区> mcy247> 正文

代码重构~提取方法

简介:
+关注继续查看

提取方法 (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这个核心方法即可,而不需要一个一个的去拷贝代码。

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Node.js SDK 使用方法及代码示例
本文介绍了如何使用阿里云视觉智能开放平台相关服务的Node.js SDK,具体包括SDK的获取和安装方法以及SDK代码示例。
431 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
19677 0
如何在 SAP 电商云 Spartacus 代码里获取 Routes 路由信息
如何在 SAP 电商云 Spartacus 代码里获取 Routes 路由信息
14 0
WPF Path.Data 后台代码赋值
Path path = new Path(); string sData = "M 250,40 L200,20 L200,60 Z"; var converter = TypeDescriptor.
1281 0
25个JavaScript数组方法代码示例
摘要: 通过代码掌握数组方法。 原文:通过实现25个数组方法来理解及高效使用数组方法(长文,建议收藏) 译者:前端小智 Fundebug经授权转载,版权归原作者所有。 要在给定数组上使用方法,只需要通过[].方法名即可,这些方法都定义在 Array.prototype 对象上。
3445 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
24778 0
【C 语言】结构体 ( 结构体偏移量计算 | 代码示例 )
【C 语言】结构体 ( 结构体偏移量计算 | 代码示例 )
25 0
+关注
mcy247
做自己的太阳 无需凭借谁的光
1070
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载