- 博客(4)
- 收藏
- 关注
原创 <重构>读书笔记之<使用查询替换临时变量>
动机:临时变量时临时的和局部的,把它们替换成方法后,就可以重用了。 关键:最常用的的一种情况是:临时变量只有一次赋值,例如用临时变量收集“循环计算总和”。一般将新建的方法暂时设为私有的,并且要确保方法没有修改任何对象。 示例: def price if base_price > 1000 discount_factor = 0.05 else discount
2013-07-02 23:20:45 483
原创 <重构>读书笔记之<内联化临时变量>
动机:一个临时变量只是简单地进行了一次赋值,那么应该内联化它。 关键:内联化临时变量大多用在“查询替换临时变量”的手法中。对用一个函数返回对临时变量赋值时,可以使用此手法。 示例: base_price = an_order.base_price return (base_price) ----> return an_order.base_price
2013-06-28 01:56:42 571
原创 <重构>读书笔记之<内联化方法>
动机:坚持短小名字的目的是让代码更加清晰、易读。但有时候方法名和方法体一样清晰,这时应当去除这个不必要的抽象。重构一个方法时,也可以内联化这个方法调用的所有函数,然后再进行重构。 关键:一些基类的方法,需要被子类进行重写,这时就不能内联化了,否则子类就不能重写这个方法了。 示例: def get_rating more_than_five_late_deliveries ? 2 : 1
2013-06-28 01:47:09 536
原创 <重构>读书笔记之<提炼方法>
动机:方法粒度小,重用率高,可以读起来像注释,重新修改时比较简单。要注意命名,否则,不提炼也罢。 关键:局部变量或是以整体搬迁(声明、使用都移动到新方法)还是以参数传递的形式传递给新方法。注意局部变量是不是在后面的代码使用到了。 示例: def print_owning(previous_amount) outstanding = previous_amount * 1.2 pr
2013-06-28 01:30:17 415
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人