第一章:什么是重构
第一步:编写一个能够快速运行的测试,重构需要依赖测试,这非常重要。
第二步:找到长长代码的方法,然后分解它,分解有以下几个步骤:
1、找出逻辑泥团,将其提炼出来;(tip:小步前进,每次只进行微小的修改)
2、修改变量名称,使其更容易理解;(tip:优秀的程序员会写出人类容易理解的代码)
3、移动代码使其放在更适合的类中,不要变更函数名使其适应新的类;
4、找到旧函数引用点修改它们,并改用新函数;
5、尽量去除临时变量减少参数传递;
6、找新的逻辑泥团继续进行以上步骤,直到无法找到逻辑泥团。
几个原则:
Extract
Method、Move
Method、Replace
Conditional with Polymorphism、Self
Encapsulate Field、Replace
Type Code with State/Strategy
后续章节会陆续介绍以上几个原则,敬请期待。
————————————————————————————————————————————————————————
暂时只写了一小段,算是给长篇大论的扫盲帖开个头吧,最近工作中经常进行重构的工作及代码维护的工作,于是想到是不是再翻翻书,回去考究考究,顺手就有了这篇读书笔记。
分享到:
相关推荐
《重构商业:产业互联网时代的商业模式重构》读书笔记模板.pptx
个人读书笔记,学习共享,希望每个苦恼于代码一坨坨混乱不堪的程序员都能学习. * 整洁代码的意义? 可读性,可维护性。 * 如何写出整洁代码? 1.只做一件事 2.不重复 3.有表达力 * 整洁代码的态度要求,要遵守...
如何改善代码的设计-读《重构》读书笔记.pdf
NULL 博文链接:https://aqxiebin.iteye.com/blog/1579688
【美】马丁福勒 著 是国际著名的面向对象分析设计、UML、模式等方面的专家,敏捷开发方法的创始人之一 重构_改善既有代码设计 软件工程领域的超级经典巨著,与另一巨著《设计模式》并称"软工双雄
clean code和重构的读书笔记,都是思维导图,方便记忆。
《从零开始学架构》精华笔记 《从零开始学架构》这本书的内容主要包含以下几部分:1) 架构设计基础,包括架构设计相关概念、历史、原则、基本方法,让架构设计不再神秘;2) 架构设计流程,通过一个虚拟的案例,...
虽然这本书已经出版了很久,但是在这20年左右时间里,重构的核心思想并没有过时,许多实际的重构手法并没有什么重大变化。让我觉得是时候考虑再版有几个原因:一个原因是,第1版里的代码已经很陈旧了,书里面还有...
阅读笔记-阿⾥妈妈AI智能⽂案 ⽂章⽬录 之前解决⽂本多样性的⽅法 1. 修改loss 主要代表是的相关研究,提出了新的⽬标函数 MMI 对 Seq2Seq进⾏建模。 原始的⽬标函数采⽤ log-likelihood 建模, 这个loss的问题是,...
标题摘要介绍难度2 详读并 记笔记可转述正标出不理解的名间 提问批判性思考改进重构作者的作到新 不是③献综述 学术观点 t 理论法1批判性归纳与评论堆砌只研究意
leetcode题库笔记 包含我在学习时使用的快速笔记、备忘单和书签。 目录 当前阅读 [牛津大学出版社] 移动到一次完成。 修订 备忘单 学习笔记 计算机科学基础 语言 Java Java 书籍 必须阅读 Java 书籍 成为更好的软件...
安卓艺术开发探索读书笔记,EffectiveJava读书笔记. 收集各大神博客以及安卓笔记,安卓面试笔记等方便手机端查看. 更新说明 v2.2.2 1.增加了一些最近在学习比较好的安卓大神的博客. 2.增加了来自GeniusVJR整理的安卓...
本书是在《解析极限编程》第一版面世的5年之后,作者重新考虑,整理和重构XP的基础上写成的,也是作者不断参与软件开发项目的心路历程和对XP的许多新的深刻理解。 本书共分两部分。第1部分包括第1章至第16章,阐述...
重构-福勒(WIP) 我的学习笔记来自阅读《 第三章-代码中的不良气味1.神秘的名字函数,模块,变量和类的名称混乱。 确保他们清楚地传达他们的工作方式和使用方法。 2.重复的代码同一代码结构存在多个地方。 它需要在...
我在阅读Martin Fowler的“重构:改进现有代码的设计(第二版)”时的个人笔记。 它仅包含一些基本概念作为我的理解。 如果您想了解更多,我强烈建议您购买该书。 如果您是发布者,并且认为此存储库不应该公开,请...
重构,主要指修改已有的阅读笔记,极少情形下会修改源码 (注2) :recycle: (5) :pencil: 校对,主要指更正错别字、调整源码分组、修改源码排版等 :pencil2: (6) :check_mark_button: 发布测试文件 :white_check_mark:...
Essential .NET 读书笔记 [第一部分] NET FrameWork的Collections支持 .NET的反射在软件设计上的应用 关于跨程序集的反射 实现C#和VB.net之间的相互转换 深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述...
代码301阅读笔记 在这里,您将找到有关代码301:中间软件开发的注释。 随时为此添加书签,以随时关注我的Notes更新。 表中的内容 读数字 阅读标题 阅读链接 01 SMACSS和响应式网页设计 02 jQuery,事件和DOM 03 ...
重构,主要指修改已有的阅读笔记,极少情形下会修改源码 (注2) :recycle: (5) :pencil: 校对,主要指更正错别字、调整源码分组、修改源码排版等 :pencil2: (6) :check_mark_button: 发布测试文件 :white_check_mark:...
1、有意义,名副其实:降低代码的模糊度,明确说明代码的用途; 2、避免误导:accountList的类型最好就是...《代码整洁之道》阅读对象为一切有志于改善代码质量的程序员及技术经理,本文档是阅读后的读书笔记!!!!