当前位置: 首页 > news >正文

西安市网站制作公司做网络私活的网站

西安市网站制作公司,做网络私活的网站,wordpress访客统计插件,南昌网站建设方案开发目录我的心路历程我的学习概括Extract Method#xff08;提炼函数#xff09;动机*--做法动机--做法*Move Method#xff08;搬移函数#xff09;动机*--做法动机--做法*Replace Conditional with Polymorphism#xff08;以多态取代条件表达式#xff09;动机*--做法动机… 目录我的心路历程我的学习概括Extract Method提炼函数动机*--做法动机--做法*Move Method搬移函数动机*--做法动机--做法*Replace Conditional with Polymorphism以多态取代条件表达式动机*--做法动机--做法*我的心路历程 今天开始学习《重构改善既有代码的设计》这本书。我首先翻阅了前言部分书中写了什么是重构。什么是重构 我的思考心路 对于重构的认识我认为程序开发并不是一个设计后即动作的行为它需要在开发过程中持续整理程序最大限度减少引入错误的概率的过程。 继续翻阅前言书中写了本书有什么。告诉了书本的章节对应内容。第1章是一个重构的Demo第2章是重构的原则定义第3章是“坏代码”的味道第5-12章是核心部分——重构的一些手法等等。从哪开始快速入手看呢 我的思考心路 翻开第1章我了解到这个Demo主要是个影片出租店程序程序的功能是计算顾客消费金额并打印详单。翻看了第1章目录起点–重构第一步–分解并重组statement()–运用多态取代与价格相关的逻辑条件–结语。我看看结语讲了什么 翻阅结语结语中表示第一章的Demo示范了数个重构手法。重构后的程序使责任分配更合理这种风格将迥异于过程化风格也使码农难以再满足于结构化风格。看看Demo示范了那几个重构手法 Demo中重构手法有 P110 提炼函数 P142 搬移函数 P255 以多态取代条件表达式 P171 自封装字段 P227 以state/strategy取代类型码 我的学习概括 Extract Method提炼函数 动机*–做法 我自己的理解如下 概念 这个手法做法是把可以被组织到一起的代码提炼到一个独立函数中并用名称来表示用途。 应用场景 过长的函数。需要注释才能理解用途的代码。 达到目的 得到简短而命名良好的函数。 优势 函数粒度小复用机会大且覆写更容易。使高层函数读起来像一系列注释。 动机–做法* 我自己的理解如下 做法简图 结合上图我的关注点如下 copy过程中注意安全 源函数层面注意考虑变量、参数的作用域提炼出的代码层面临时变量问题 意外1: 源函数中变量、参数的作用域与新函数不一致。 措施若是局部变量新函数里传入这部分参数。 意外2: copy过程中临时变量被修改了。 措施将被提炼代码段处理为一个查询将结果赋值给相关变量。 Move Method搬移函数 动机*–做法 我自己的理解如下 概念简图 概念 类A中函数Fun a与类B有调用关系的情况下Fun a最常引用的类B中建立类似形为Fun a的新函数则Fun a变成单纯的委托函数或可完全移除Fun a。 应用场景 一个类有太多行为。或类与类之间有太多合作而形成高度耦合。 达到目的 使系统中的类更简单系统任务交付更干脆。 动机–做法* 我自己的理解如下 做法简图 结合上图我的关注点如下 移动路径方向函数Fun a与对象B交流比自己对象A交流多所以搬移方向往B合适。 搬移过程中注意安全 源类A的子类超类层面若源类A的子类和超类有函数Fun a的声明不能进行搬移。除非类B表现出多态性。 意外1: 新目标类B中缺少对A的引用机制。 措施把源对象类A的引用当作参数传给新目标类B的Fun a。 意外2: Fun a包含异常处理搬移后出现异常处理异常。 措施根据逻辑判断某个异常该由哪个类处理若类A负责则异常处理留在类A。 Replace Conditional with Polymorphism以多态取代条件表达式 动机*–做法 我自己的理解如下 概念简图 概念 将条件表达式的每个分支放进一个子类的覆写函数中然后将原始函数声明为抽象函数。 应用场景 同一组表达式在程序多个地方出现。 优势 减少编写明显的条件表达式。使“类型码switch语句”、“基于类型名称的if-then-else语句”出现减少。避免条件表达式情况下添加新类型时要更新所有表达式的缺点。降低系统各部分间的依赖。 动机–做法* 我自己的理解如下 结合上面的概念简图我的关注点如下 替换过程中注意安全 多态性层面必须有一个继承结构。它可以有2种选择来做到这个结构。一般情况下采取以子类取代类型码的方法。若出现对象已经创建后要修改类型码或者要重构的类已经有子类则采取以state/strategy取代类型码的方法。超类层面超类中某些private可能需要声明为protected。另外超类中容纳条件表达式的函数要声明为抽象函数。
http://www.huolong8.cn/news/450138/

相关文章:

  • 怎样做电影下载网站采购与招标网
  • 高端网站设计制作网站建设的程序
  • 哪个平台建网站比较好成都建站提供商
  • 建筑设计网站app网站建设费用先付一半
  • 怎么查看一个网站的后台学网站开发要学什么
  • 百度权重4网站值多少钱集团简介ppt优秀范例
  • 视频播放网站开发快速搭建网站 优帮云
  • 门户网站前期网络采集商家信息免费发布珠海做企业网站
  • 百度指数做网站佛山学校网站建设
  • 网站承建商有哪些小白建设论坛网站
  • 网站备案信息可以改吗西部数码 网站管理
  • 城市建设管理网站要怎么做网络推广
  • 网站建设管理招聘竞争对手网站
  • 温岭网站建设制作怎么制作代码
  • 商派商城网站建设方案怎么在百度做公司网站
  • php怎么做网站快西安企业建站系统模板
  • 建设商务网站公司商务网站制作公司
  • 惠州做网站好的公司深圳营销型网站建设报价
  • 网站做集群html类似wordpress
  • 培训网站开发机构秋林 做网站
  • 广东网站备案要求html可以用什么软件写
  • 网站关键词库如何做wordpress兼容html5
  • 网站建设与制作区别建设视频网站需要什么知识
  • 高清网站推广免费下载网站模板怎么弄
  • 低价自适应网站建设优化建站放射科网站建设
  • 昆明网站建设kmdtkj湖北住房城乡建设厅网站首页
  • 青岛做商城网站广州公司营销型网站建设
  • 中考网络应用服务平台官网荆州seo优化
  • 微网站开发一般费用多少钱便宜购 网站建设
  • 有没有做微场景的网站禹州做网站的