Michael Feathers重构讲座的笔记

19-01-06 banq
    

这是有关Michael Feathers的大力重构的四小时研讨会笔记:

Michael开始讨论什么是清洁代码与可理解代码,以及为什么每个都很重要,但是使用清洁代码会有成本,特别是当您拥有它时。他通过与行为经济学的良好关系来解释这一点,并考虑到激励人们的方法可能不太正确。

他问了一个问题:“相比创建新方法/类,为什么人们更容易在现有地方添加代码?“勤奋的程序员经常在小幅度的添加代码时犯规。

Feathers认为:我们不应该对非常大的方法感到惊讶。在不确定我们能做些什么前提下的激励措施是错误的,这种想象不是坏的码农导致,而是系统性的影响,这是我们和代码之间互动的系统结果。当您建立团队时,拥有一致的代码标准和一致的技术方向对于建立一个激励不同行为的不同系统至关重要,如果你改变一些事情,那么你就会希望它保持良好状态,如果你想得到同伴的尊重,你会希望保持良好的状态。

Feathers谈到了他一直在努力的一些伟大的可视化,当你看到一个特定的系统时,你会发现编码是有形的!

功能特征聚合类:

  • 列出功能并寻找通用性。有时你会在类/方法中寻找共同的参数。有时它是关于常见数据(Fowler在他的书中谈到的数据丛)。
  • 寻找信息的位置(或OO谈话中的封装)

拨弄类

  • 根据使用而不是添加更多来分解类
  • 逐步创建新角色的过程(通过接口或超类并在消费者中使用而不是原始角色)
  • Feathers建议使用非常严格的命令查询分离 

其他一些建议:

  • “分支机构(分公司或事业部)通常是在大型组织中进行重构的最大障碍。”
  • “缩小作用域:通常我们通过将临时变量靠近第一次使用地方来获得杠杆作用”