C#重构学习2

转帖重构学习

  重构?代码坏味道?看到这两个疑问,也许就知道本期的话题是关于“重构”的,重构无处不在,重构可大可小,重构随时随地。让重构时刻记在脑海,使自己的代码变的优美。就让这本“重构艺术”手册带你走进重构的世界,亲密接触重构,如欣赏艺术般,体会重构的魅力。

  文章下载地址:http://files.cnblogs.com/xia520pi/C_Sharp_Refactoring.rar

  文章的目录:

1、代码重构

1.1、版权声明

1.2、内容详情

2、项目重构方案设计

2.1、版权声明

2.2、内容详情

3、31天重构学习笔记

3.1、版权声明

3.2、内容详情

3.2.1 封装集合

3.2.2 移动方法

3.2.3 提升方法

3.2.4 降低方法

3.2.5 提升字段

3.2.6 降低字段

3.2.7 重命名(方法,类,参数)

3.2.8 使用委派代替继承

3.2.9 提取接口

3.2.10 提取方法

3.2.11 使用策略类

3.2.12 分解依赖

3.2.13 提取方法对象

3.2.14 分离职责

3.2.15 移除重复内容

3.2.16 封装条件

3.2.17 提取父类

3.2.18 使用条件判断代替异常

3.2.19 提取工厂类

3.2.20 提取子类

3.2.21 合并继承

3.2.22 分解方法

3.2.23 引入参数对象

3.2.24 分解复杂判断

3.2.25 引入契约式设计

3.2.26避免双重否定

3.2.27去除上帝类

3.2.28为布尔方法命名

3.2.29去除中间人对象

3.2.30尽快返回

3.2.31使用多态代替条件判断

4、改善代码设计

4.1、版权声明

4.2、内容详情

4.2.1 总结篇

4.2.2 优化函数的构成

4.2.3 优化物件之间的特性

4.2.4 组织好你的数据

4.2.5 简化条件表达式

4.2.6 简化函数调用

4.2.7 处理概括关系

5、重构(Refactoring)技巧读书笔记

5.1、版权声明

5.2、内容详情

5.2.1 读书笔记之一

5.2.2 读书笔记之二

5.2.3 读书笔记之三

时间: 2024-10-22 10:23:06

C#重构学习2的相关文章

【重构学习笔记】

重构的定义:重构是对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本 从定义里我们可以看出,重构是对代码和架构的一种修改,旨在提高代码的效率和可读性,来达到降低修改成本的目的.而重构对于用户体验来说,就像定义中说到的,只能对可观察行为作出很小的变化,甚至不造成变化. 关于同事些代码经常会把DAO注入到表现层Controller里面使用,我一直很反感这样的做法,奈何找不出可以反驳这些老员工的理由,确实才疏学浅了. 认真想想 例如,一般情况,我们会在Ser

重构学习-重构原则

什么是重构: 视上下文重构有两个不同的定义,第一个定义是名词形式 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本 重构的另一人用法是动词形式 使用一系列的重构手法,在不改变软件可观察行为的前提下调整其结构. 有人说重构就是整理代码 ,从某种角度上来说,是,但是重构不止于此,因为它提供了一种更为高效且受控的代码整理 技术,运用代码重构技术后你会发现对代码的整理会比以前更加高效. 重构的目的是使软件更容易被理解和侯.你可以在软件的内部做很多修改,但必须

【重构学习】03 重构与测试

新的一年了,我却在这里写这个鬼 <重构>的这一章主要是讲java的一个测试框架,我直接就跳着看了 只是简单的看了一下它的思想 重构需要一个良好的测试体系,而我们需要为重构构建一个这样的体系,这是重构的前提 不需要期待完美测试,需要的是不完美的测试已经在实际执行了 测试的时候考虑可能出错的边界条件,并集中火力 不要因为测试无法捕捉所有BUG就不写测试,至少它可以捕捉大多数 花合理的时间抓出大多数BUG 写测试代码去让其执行自动化测试 好了这就是本章主要的内容 不太多,就来简单谈一下自己对测试的理

【重构学习】序

话说写代码的时候越来越认识到了重构的重要性. 作为一个有良知的程序员,我觉得我们确实有必要写出让人明白的代码,而不是仅仅让计算机明白. 更加重要的是我意识到重构能让我在六点钟直接下班走人,而不是持续在Dirty Code里挣扎. 所以我决定去学习重构来提升我的技能. 然而意识到我并不是一个有毅力的人,所以我决定开博客,每天强制写东西来推动学习.

【重构学习】12 重构学习感想

其实也没什么想继续说重构了,你我都清楚这仅仅只是一个开始,进一步的就是靠个人去不断积累重构经验了. 我们学到的依然只是套路,玩熟的话还远着呢. 不仅仅是何处重构,如何重构的问题,更需要对重构的时间进行掌控,并且迫切需要实施重构的勇气. 好吧,自学完了<重构>. 用时18天. 从来没有如此兴奋过,这一切好像都只是开始. 我的学习兴趣被激发起来了吗,是的. 它没有在我高中时候来到,也没有在我大学时候来到,如今才开始,所幸不晚.

【重构学习】05 函数的重构

<重构>这本书的代码都是java,我准备用C#来一遍. 而今天我的主要任务是写一大段垃圾代码出来,然后重构(仅限于函数的,不涉及到其它方面的重构). 程序界面: 功能介绍: 侠客名字自己取,然后点击按钮随机角色的属性, 根骨,经脉,柔韧,悟性等四项属性值都是随机而来. 其他的都是由这四个属性计算而来: 根骨:影响气血,基础外攻和基础内攻 经脉:影响内力和基础内攻 柔韧:影响身法和基础闪避 按钮功能的垃圾代码如下: /// <summary> /// 产生侠客 /// </su

C#重构学习

转帖一个代码重构帖子用于学习 代码重构 重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量.性能,使其程序的设计模式和架构更趋合理,提高 软件的扩展性和维护性. 一.为什么要重构(Refactoring) 1.·持续偏纠和改进软件设计. 2.·使代码更易为人所理解. 3.·帮助发现隐藏的代码缺陷. 4.·从长远来看,有助于提高编程效率. 二.何时着手重构(Refactoring) 1.·代码中存在重复的代码. 2.·过大的类和过长的方法. 3.·牵一毛

【重构学习】 04 重构与设计模式

好吧,<重构>这本书的第五章,主要是对即将要写到的一些具体重构手法的写作结构的一种描述,并没有什么重要的东西. 仿佛是为了庆祝元旦的放假,特意给我准备的章节,为了让我完成今天的任务而特意水了一章. 好吧,还是有一句重要的话:设计模式为重构提供了目标,而重构是到达之路. 以下是我的废话,大神莫笑: 如果你不明白设计模式是什么?不要紧,就算你不明白也不要紧. 因为很多人学了设计模式都会忘掉,有的时候是因为他们不用,所以忘了.有的时候是因为用的多了,所以忘了. 如果是后者那就是无招胜有招的境界,如果

【重构学习】11 大型重构

好了,前面所有的都是很简单的例子,现在开始的是大型重构. 对于大型重构来说,情况复杂多变,耗时也会很长,前面的简单重构大多是在一个小时内可以完成,但是对于大型重构来说可能需要几个月,甚至数年.如果是一个运行中的系统,重构起来只能每天一点点去慢慢重构. (恕我直言,在国内恐怕这样的公司也很少.所以我们要自己养成随时重构的习惯,不要挖坑给自己埋最好.没谁能给你这么长时间重构,特别当你是个低端程序员的时候.你得相信,你所有偷懒的举动,都会给你以后的工作带来麻烦.除非你明天走人了,那么你的锅可能就给我背