`

重构学习笔记一

阅读更多
重构的概念:
Refactoring(名词):对软件内部结构的一种调整,目的是在不改变软件外部行为的前提下,提高其可理解性,降低其修改成本.
•Refactor(动词):使用一系列重构准则(手法),在不改变起外部行为的前提下,调整其结构.
重构场景:
•预先设计无法解决所有问题,一般预先设计中充满了小漏洞
•缺乏设计的代码通常使用较多的代码做同样的事情
•软件是在逐渐修改中变的腐朽,通过重构改进之
•使软件易于理解
–在大多数软件开发环境中,其他人将读你的代码
•帮助发现缺陷
•帮助提高编程速度
重构时机:
•三次法则
–事不过三,三则重构
•增加新功能时
•修改BUG时
•代码评审时
分享到:
评论

相关推荐

    31天重构学习笔记中文版

    31天重构学习笔记中文汉化版,非常好的编程规范书籍

    重构 学习笔记 refactoring martin fowler

    “每当我要进行重构的时候, 第一个步骤永远相同: 我得为即将修改的代码建立一组可靠的测试环境. 这些测试是必要的, 因为尽管遵循重构准则可以使我避免绝大多数的臭虫引入机会, 但我毕竟是人, 毕竟有可能犯错误. ...

    31天重构学习笔记.docx

    比如最经典的属性对字段的封装就是一个很好的例子,那么下面我们将看到对集合的封装,如下代码所示,调用端只需要一个集合的信息,而我们则提供了一个IList的集合,大家都知道IList具有对集合的所有操作,所以这会...

    [免费高清PDF]31天重构系列笔记.rar

    [免费高清PDF]31天重构系列笔记.rar [免费高清PDF]31天重构系列笔记.rar

    .NET 快速重构 - 学习笔记

    重构是持续改进代码的基础。抵制重构将带来技术麻烦:忘记代码片段的功能、创建无法测试的代码等等。 而有了重构,使用单元测试、共享代码以及更可靠的无 bug 的代码这些最佳实践就显得简单多了。

    《重构》----学习笔记

    重构不是一项靠着天分挥洒的艺术,而是一项工程。重构是一种有纪律的,经过训练的,有条不紊的程序整理方案,可以将整理过程中不小心引入错误的机率降到最低

    JSP_Servlet学习笔记(第2版).pdf

    《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,...《JSP & Servlet学习笔记(第2版)》以“微博”项目贯穿全书,将JSP & Servlet技术应用于实际项目开发之中,并使用重构方式来改进应用程序架构。

    重构:改善既有代码的设计(第2版)学习笔记

    重构:改善既有代码的设计(第2版)学习笔记

    前端Bootstrap+Es6+vue学习笔记

    前端Bootstrap+Es6+vue学习笔记 Bootstrap 框架是一种基于 HTML/CSS/JS 的开源框架,由 Twitter 公司的两名技术工程师研发。其主要特点包括: 1. 跨设备跨浏览器:Bootstrap 支持多种设备和浏览器,可以在不同的...

    C#学习笔记

    我个人觉得面向对象是本本主义、洁癖的体现、是重构后的最后归属、它可能会矫情、在市场变化老板着急产品狭隘的情况下 快速制作快速上线才是王道,面向对象的基础是对事物的详尽认知,短时间内能做到吗 不好做到,...

    MySQL5.7学习笔记.pdf

    MySQL 5.7学习笔记 数据库概述: 数据库(Database)是一种存储数据的“仓库”,其本质是一个文件系统,保存了一系列有组织的数据。数据库管理系统(Database Management System)是一种操纵和管理数据库的大型...

    ElasticSearch学习笔记

    ElasticSearch学习笔记 ElasticSearch是基于Apache Lucene的搜索和数据分析引擎,提供了RESTful API用于数据的索引、搜索和分析。本笔记将对ElasticSearch的基本概念、架构、应用场景和实现细节进行详细介绍。 一...

    重构知识总结篇

    有关系统重构知识总结,网上浏览学习笔记。

    refactoring-to-patterns-notes:重构-向范式前进(重构为模式)的学习笔记

    重构为模式注释重构-向范式前进(重构为模式)的学习笔记。本站网址: : 本书已绝版,请参考。欢迎到讨论或指正错误。

    W3学习笔记--文献检索与有效阅读1

    标题摘要介绍难度2 详读并 记笔记可转述正标出不理解的名间 提问批判性思考改进重构作者的作到新 不是③献综述 学术观点 t 理论法1批判性归纳与评论堆砌只研究意

    docker 学习笔记.docx

    最近老项目重构,打算使用Docker虚拟化技术,踩着坑整理的。希望帮助能够帮助的人。

    Vue学习.pdf(Vue学习个人笔记资料-菜鸟入门)

    Vue的特点在于其渐进式架构,允许开发者逐步将Vue融入现有的项目中,而不必一次性重构整个应用。 Vue的核心概念包括数据驱动和组件化。数据驱动意味着应用程序的状态管理集中在Vue实例的数据对象上,当数据变化时,...

    AppFuse学习笔记(J2EE入门级框架)

    Appfuse是Matt Raible 开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、Hibernate、iBatis、Struts、xDcolet、Junit、Taperstry、JSF等基础框架给出了示范。在持久层,AppFuse采用了Hibernate O/R映射...

    appfuse 学习笔记

    Appfuse 一个开放源码的项目和应用程序,帮助我们快速而高效的地开发。 Appfuse是Matt Raible 开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、...AppFuse2.0重构了AppFuse1.0,转到Maven2和Jdk1.5。

Global site tag (gtag.js) - Google Analytics