E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
31天重构
31天重构
学习笔记重新整理下载
前言前两天写了一篇程序猿也爱学英语(上),有图有真相的文章,写作那篇文章只是自己一时兴起,或者说是自己的兴趣使然。文中的观点只是自己的学习心得和体会,属一家之言且鉴于本人不是学英语出身,所以也肯定有不正确的地方,也欢迎大家积极讨论并给我留言,再次感谢大家的热烈支持。关于大家询问下篇的发布问题,我想我会尽力在周末完成。这几天由于刚发布完项目,所以有比较充裕的时间整理自己的知识库,发现三年多以前学习并
weixin_34024034
·
2020-09-13 17:29
闲聊
31天重构
-第1,2天:方法迁移
封装集合EncapsulateCollectionJava不适用略方法迁移(MoveMethod)D:原来代码publicclassBankAccount{publicBankAccount(intaccountAge,intcreditScore,AccountInterestaccountInterest){AccountAge=accountAge;CreditScore=creditSco
Lee宇斌
·
2018-06-14 10:25
闲聊Java重构
31天重构
学习笔记重新整理下载
前言 前两天写了一篇程序猿也爱学英语(上),有图有真相的文章,写作那篇文章只是自己一时兴起,或者说是自己的兴趣使然。文中的观点只是自己的学习心得和体会,属一家之言且鉴于本人不是学英语出身,所以也肯定有不正确的地方,也欢迎大家积极讨论并给我留言,再次感谢大家的热烈支持。关于大家询问下篇的发布问题,我想我会尽力在周末完成。 这几天由于刚发布完项目,所以有比较充裕
圣殿骑士
·
2016-02-02 19:02
31天重构
学习笔记30. 尽快返回
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年 10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:09
学习笔记
31天重构
学习笔记31. 使用多态代替条件判断
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年 10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:09
学习笔记
31天重构
学习笔记28. 为布尔方法命名
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年 10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:08
学习笔记
31天重构
学习笔记27. 去除上帝类
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年 10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:07
学习笔记
31天重构
学习笔记29. 去除中间人对象
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年 10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:07
学习笔记
31天重构
学习笔记26. 避免双重否定
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:06
学习笔记
31天重构
学习笔记25. 引入契约式设计
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:05
学习笔记
31天重构
学习笔记24. 分解复杂判断
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:05
学习笔记
31天重构
学习笔记23. 引入参数对象
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:04
学习笔记
31天重构
学习笔记22. 分解方法
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:03
学习笔记
31天重构
学习笔记21. 合并继承
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:02
学习笔记
31天重构
学习笔记20. 提取子类
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:02
学习笔记
31天重构
学习笔记19. 提取工厂类
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:01
学习笔记
31天重构
学习笔记17. 提取父类
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:00
学习笔记
31天重构
学习笔记18. 使用条件判断代替异常
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:00
学习笔记
31天重构
学习笔记16. 封装条件
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:59
学习笔记
31天重构
学习笔记15. 移除重复内容
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:58
学习笔记
31天重构
学习笔记14. 分离职责
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:57
学习笔记
31天重构
学习笔记12. 分解依赖
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 22:57
学习笔记
31天重构
学习笔记13. 提取方法对象
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 19:30
学习笔记
31天重构
学习笔记11. 使用策略类
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 19:29
学习笔记
31天重构
学习笔记9. 提取接口
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 19:28
学习笔记
31天重构
学习笔记10. 提取方法
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 19:28
学习笔记
31天重构
学习笔记8. 使用委派代替继承
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 19:27
学习笔记
31天重构
学习笔记7. 重命名(方法,类,参数)
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 19:26
学习笔记
31天重构
学习笔记6. 降低字段
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 19:25
学习笔记
31天重构
学习笔记4. 降低方法
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 19:24
学习笔记
31天重构
学习笔记5. 提升字段
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 19:24
学习笔记
31天重构
由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 19:23
重构
31天重构
学习笔记3. 提升方法
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 19:11
学习笔记
31天重构
学习笔记2. 移动方法
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 19:10
学习笔记
31天重构
学习笔记1. 封装集合
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对
31天重构
最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的
·
2015-11-12 19:09
学习笔记
31天重构
学习笔记(java版本)
准备下周分享会的内容,无意间看到.net版本的重构31天,花了两个小时看了下,可以看成是MartinFowler《重构》的精简版原文地址:http://www.lostechies.com/blogs/sean_chambers/archive/2009/07/31/31-days-of-refactoring.aspx原文代码地址:https://github.com/schambers/day
draem0507
·
2015-11-06 16:00
31天重构
指南之三十:尽快返回
今天要说的重构是来自于“分解复杂判断”的扩展,当应用分解复杂判断时,我们总是需要尽可能快的返回。 1: public class Order 2: { 3: public Customer Customer { get; private set; } 4: 5: public decimal CalculateOrder(Cus
·
2015-10-30 13:14
重构
31天重构
指南之三十一:使用多态代码条件判断
31天重构
指南的最后一个重构来自于Fowlers的重构目录,你可以在这里查看。
·
2015-10-30 13:14
多态
31天重构
指南之二十八:为布尔方法命名
今天要说的重构我不确定是否是来自于Fowlers的重构目录,如果有人知道今天要说的重构的实际出处,请告诉我。 今天要说的重构并不是普通字面意义上的重构,它有值得讨论的地方。当一个方法带有大量的布尔型参数时,会导致方法很容易被误解并产生非预期的行为, 根据布尔型参数的数量,我们可以决定提取出若干个独立方法来。下面让我们来看一段代码: 1: public class BankAccount
·
2015-10-30 13:13
重构
31天重构
指南之二十六: 避免双重否定
今天要说的重构来自于Martin Fowlers的重构目录,你可以在这里看到原始的描述。 避免双重否定重构本身非常简单实现,但我却在太多的代码中见过因为双重否定降低了代码的可读性以致于非常让人容易误解原始意图。存在双重否定的代码具有非常大的危害性,因为这种类型的代码容易引起错误的假定,错误的假定又会导致书写出错误的维护代码,最终会导致bug产生。让我们来看下面的例子: 1: publi
·
2015-10-30 13:13
重构
31天重构
指南之二十七:去除上帝类
我经常可以在一些遗留代码中见到一些类明确的违反了SRP(Single Responsibility Principle)原则,这些类通常以“Utils”或“Manager”后缀结尾,但有时这些类也没有这些特征,它仅仅是多组方法的组合体。另一个关于上帝类的特征是这些类中的方法被用注释分隔为不同的分组。 久而久之,这些类被转换为那些没有人愿意进行归并到合适类的方法的聚集地,对这些类进行重构的方法是将
·
2015-10-30 13:13
重构
31天重构
指南之二十九:去除中间人对象
今天要说的重构来自于Folwers的重构目录,你可以在这里查看。 有时在你的代码会存在一些幽灵类,Fowler称它们为“中间人”,中间人类除了调用别的对象之外不做任何事情,所以中间人类没有存在的必要,我们可以将它们从代码中删除。 1: public class Consumer 2: { 3: public AccountManager AccountManage
·
2015-10-30 13:13
对象
31天重构
指南之二十三:引入参数对象
“引入参数对象”重构来自于Martin Folwers的重构目录,你可以在这里找到原始的描述。 有时当一个方法所需要的参数大于5个后,读懂该方法的签名就会变得比较困难,就像下面的代码: 1: public class Registration 2: { 3: public void Create(decimal amount, Student student,
·
2015-10-30 13:12
对象
31天重构
指南之二十四:分解复杂判断
今天要说的重构基于c2 wiki上的条目,你可以在这里查看该条目,在这里还有另一篇文章。 简单的来说,当你的代码中有很深的嵌套条件时,花括号就会在代码中形成一个箭头。我经常在不同的代码中看到这种情况,并且这种情况也会引起较高的圈度复杂性。 下面就的代码便是一个例子: 1: public class Security 2: { 3: public ISecur
·
2015-10-30 13:12
重构
31天重构
指南之二十五:引入契约式设计
契约式设计(Design By Contract DBC)规定方法应该对输入和输出进行验证,这样你便可以保证你得到的数据是可以工作的,一切都是按期望进行的,如果不是按期望进行,异常或是错误就应该被返回,要想了解DBC的更多信息请访问这里。 下面我们举的例子中,我们方法中的参数可能会为值为null的情况,在这种情况下由于我们没有验证,NullReferenceException异常会报出。另外在方
·
2015-10-30 13:12
重构
31天重构
指南之二十:提取子类
今天要说的重构来自于Martin Fowlers的模式目录,你可以在这里找到它。 当你的基类中存在一些方法不是所有的子类都需要访问,你想将它们调整到子类中时,这个重构会很有用。我举一个简单的例子,我们想要一个Registration类用来处理学生选课的信息。 1: public class Registration 2: { 3: public NonRegis
·
2015-10-30 13:11
重构
31天重构
指南之二十二:分解方法
今天要说的重构没有明确的出处,分解方法是我给它起的名字,我相信肯定还有别人做过类似的重构但却叫别一个名字,如果你在看完本文后觉得还有比“分解方法”更好的名字,请通知我。 分解重构是元重构的一种,所做的事情就是不停的分解方法,直到将一个大方法分解为可读性更好的若干个小方法。本文一会要遇到的例子是虚构的,因为现实中AcceptPayment方法不会做这么多的事情。 下面我们通过几次分解将Accep
·
2015-10-30 13:11
重构
31天重构
指南之二十一:合并继承
今天要说的重构来自于Martin Fowlers的模式目录,你可以在这里找到它。 昨天我们说的“提取子类”重构是指当基类中的一个责任不被所有的子类所需要时,将这些责任提取到合适的子类中。而我们今天所说的“合并继承”重构一般用在当我们觉得不需要子类的时候。 1: public class Website 2: { 3: public string Title {
·
2015-10-30 13:11
继承
31天重构
指南之十九:提取工厂类
今天要说的重构最早由Gof提出,在网络上可以找到很多的资源。两个不同的工厂模式可以在这里找到:Abstract Factroy Factory Method 通常我们需要在代码中设置一些对象,以便获得它们的状态,从而使用对象,所谓的设置通常来说就是创建对象的实例并调用对象的方法。有时如果要创建的对象很多,则代码会变的复杂。这便是工厂模式发挥作用的情形。关于工厂模式的完整描述可以从这里查
·
2015-10-30 13:11
重构
31天重构
指南之十七:提取父类
今天要说的重构来自于Martin Fowler’s 的重构目录,你可以在这里找到原始描述。 这个经常使用的重构的使用场景是在类中有一些方法你想把它们提取到父类中以便同一继承层次的其它类也可以访问这些方法。例如下面的代码中的两个方法我们想将它们提取出来以便让其它类使用。 1: public class Dog 2: { 3:
·
2015-10-30 13:10
重构
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他