Hacker News new | ask | show | jobs
by karmakaze 1899 days ago
In an arbitrary structure

  if a
    if b
      ...
    else
      ...
    end
  else
    case c
      ...
    when y
      ...
    when z
      ...
    else
      ...
    end
  end
Rather than understand how everything works and literally 'factor' out a new aspect, any structure can, without understanding, be incrementally be amended by changing all the relevant leaves with additional, duplicated substructures. Of course it looks clear and obvious here, but usually the structure is distributed across many classes, methods, and strategy patterns, etc. The 'factoring' work that needs to be continually done is at a higher conceptual level rather than the mindless 'deduplicating' refactorings that tend to get done.