zoukankan      html  css  js  c++  java
  • 重构 读书笔记

    #读书笔记# Encapsulate Collection(封装群集)关键是分别建一个add和remove群集元素的函数,并将get封装为readonly。否则,使用群集的客户端偷偷改变了元素,群集拥有者却一无所悉。C#中可用类ReadOnlyCollection或方法AsReadOnly()实现。http://stackoverflow.com/questions/1710902/unmodifiable-lists-in-c

     

    #读书笔记#assertion(断言)的价值在于:帮助程序员理解代码正确运行的必要条件。 
    #读书笔记#我们常常会写下这样的判断“if (customer == null) xxxx”,当中的判断条件可能会在多处重复出现,这时我们可以运用Introduce Null Object(引入null对象)新建一个Null Customer类继承原Customer类,并将判断条件集中在获取Customer的地方,结合多态就能去掉那些相同的判断条件。详见P260。

     

    #读书笔记#Remove Control Flag(移除控制标记)是Fowler大师反对“单一出口”原则的经典阐述。他认为该原则会让你的代码中加入讨厌的控制标记,大大降低条件表达式的可读性。他建议“以break语句、continue语句、或return语句取代控制标记”。

     

    #读书笔记#终于看到向往已久的Introduce Parameter Object(引入参数对象),当某些参数总是很自然地同时出现时,“以一个对象取代这些参数”。当你把这些参数组织到一起之后,往往很快可以发现一些“可被移至新建Class”的行为,P295。

     

    #读书笔记#代码的可理解性应该是我们虔诚追求的目标。
    #读书笔记#如果某个条件极其罕见,就应该单独检查该条件,并在该条件为真时立刻从函数中返回。这样的单独检查常被称为“卫语句(guard clauses)”。Replace Nested Conditional with Guard Clauses的精髓就是:给某一分支以特别的重视。如果使用if-then-else结构,你对if分支和else分支的重视是同等的。

     

    #读书笔记# MVC模式的最核心价值在于:它将用户界面代码(即所谓view,视图;亦即现今常说的presentation,表述)和领域逻辑(即所谓model,模型)分离了。presentation class只含用以处理用户界面的逻辑;domain class不含任何与程序外观相关的代码,只含业务逻辑(business logic)相关代码。

     

    #好书推荐#《重构》福勒 (Martin Fowler) 侯捷、 熊节译。下载地址:http://ishare.iask.sina.com.cn/f/5597581.html  #读后感#几十种行之有效的重构方法介绍与演练,贴近实际,确如序言所说,看完这本书,其中的思想应该成为你血液中的一份子,而设计模式应该成为你桌上随时查阅的工具书。

     

     

  • 相关阅读:
    js一次性删除一个数组中多个元素
    js防抖,节流
    js 生成一个永不重复的ID
    mavon-editor 使用方法以及回显
    导出---后台返回二进制流文件数据,前端转换格式进行下载
    vue 监控enter键触发
    上传视频到阿里云
    前端图片压缩
    向后台传输表情时,手机自带输入法emoji表情的输入,提交及显示——前端解决方案
    vue 之this.$router.push、replace、go的区别
  • 原文地址:https://www.cnblogs.com/MikeYao/p/2186377.html
Copyright © 2011-2022 走看看