主要来自 Scala 语言发明人 Martin Odersky 教授的 Coursera 课程 《Functional Programming Principles in Scala》。2. Higher Order Functions把其他函数作为参数或者作为返回值,就是 higher order...
分类:
其他好文 时间:
2014-07-07 23:27:55
阅读次数:
412
背景在一个服务实现内,有很多结构相似,略微不同的函数。Martin大师的谆谆告诫我们,可以使用Extract Method的方式进行重构。本次练习的内容主要是使用反射。以零散知识点的形式记录每一天的工作。内容1. 获取Type一般有两种方式获取类型:1.1 typeof方式var entityTyp...
分类:
其他好文 时间:
2014-06-26 17:09:27
阅读次数:
209
Martin A. Zinkevich 等人(Yahoo!Lab)合作的论文 Parallelized Stochastic Gradient Descent 中给出了一种适合于 MapReduce 的并行随机梯度下降法,并给出了相应的收敛性分析。这里忽略理论部分,根据自己的理解给出文中所提并行随机...
分类:
其他好文 时间:
2014-06-25 22:06:05
阅读次数:
417
Martin A. Zinkevich 等人(Yahoo!Lab)合作的论文 Parallelized Stochastic Gradient Descent 中给出了一种适合于 MapReduce 的并行随机梯度下降法,并给出了相应的收敛性分析。这里忽略理论部分,根据自己的理解给出文中所提并行随机梯度下降法的描述。...
分类:
其他好文 时间:
2014-06-24 22:53:45
阅读次数:
261
《重构-改善既有代码的设计》Martin Fowler 摘要: 第九章 简化条件表达式
Decompose Conditinal 分解条件表达式
你有一个复杂的条件(if-then-else)语句
从三个段落中分别提炼出独立函数
Consolidate Conditional Expression 合并条件表达式
你有一系列条件测试,都得到相同结果
将这...
分类:
其他好文 时间:
2014-06-20 13:03:15
阅读次数:
212
《重构-改善既有代码的设计》Martin Fowler 摘要: 第八章 重新组织数据
Self Encapsulate Field 自封装字段
你直接访问一个字段,但与字段之间的耦合关系逐渐变得笨拙。
为这个字段建立取值/设置函数,并且只以这些函数来访问字段。
子类用超类数据时
Replace Data Value with Object 以对象取代数据值
...
分类:
其他好文 时间:
2014-06-20 12:42:22
阅读次数:
280
DIP,dependency inversion principle,中文翻译为“依赖倒置原则”。 DIP是大名鼎鼎的Martin大师提出来的,他在1996 5月的C++ Reporter发表“ The Dependency Inversion Principle”的文章详细阐述了DIP原则,并且在他的经典著作《 Agile Software Development, Principles, Pa...
分类:
其他好文 时间:
2014-06-15 15:33:53
阅读次数:
277
《重构-改善既有代码的设计》Martin Fowler 摘要: 第十章 简化函数调用
Rename Method 函数改名
改一个自表达的名字吧!骚年
Add Parameter 添加参数
某个函数需要从调用端得到更多信息。
为此函数添加一个对象参数,让该对象代价函数所需信息。并发编程大多数参数很长,不放在一个类中,因为这样你可以保证传递给函数的参数都是不可修...
分类:
其他好文 时间:
2014-06-10 15:24:00
阅读次数:
210
《重构-改善既有代码的设计》Martin Fowler 摘要:
第十一章 处理概括关系
有一批重构手法专门处理类的概括关系(generalization , 即继承关系)
Pull Up Field 字段上移
两个子类有相同字段 --》 移到超类
观察函数如何使用它们,使用的方式很相似,考虑归纳到超类
Pull Up Method 函数上移
有些函数...
分类:
其他好文 时间:
2014-06-10 11:10:10
阅读次数:
171
《重构-改善既有代码的设计》Martin Fowler 摘要: 第七章 在对象之间搬移特性
Move Method 搬移函数
你的程序中,有个函数与其所驻类之外的另一个类进行更多交流:调用后者,或被后者调用
在该函数最常引用的类中建立一个有着类似行为的新函数。将旧函数变成一个单纯的委托函数,或者将旧函数完全移除。
Move Field 搬移字段
某个字段被其所驻类之外...
分类:
其他好文 时间:
2014-06-07 15:18:01
阅读次数:
171