GoBoundless / dyph

A library of useful diffing algorithms for Ruby
https://www.boundless.com/
MIT License
8 stars 2 forks source link

RFR: Refactor heckell differ #45

Closed aamontal closed 8 years ago

aamontal commented 8 years ago

Refactored our implementation of the Heckel Differ to be (hopefully more maintainable).

For the time being I am keeping the original version of the differ around so we can make sure the refactors are sane.

Also broke up the tests into smaller, files to more easily navigate them.

Removed some legacy and unused files as well.

aamontal commented 8 years ago

@jelder I decided to keep the messy but stable differ around to make sure the new one produces the same results. Planning to update versioned_record and www to run both differs for a time and honeybadger any differences, while still using the stable but messy one.

jelder commented 8 years ago

I like it. Think it will have any noticeable performance impact?

Also if you find that there are some areas of intractable complexity, you can silence Rubocop:

https://github.com/bbatsov/rubocop#disabling-cops-within-source-code

aamontal commented 8 years ago

@jelder since we are using the original differ for production tasks for now, we could put the comparison into sidekiq and not worry about it.

jelder commented 8 years ago

Could be tricky with Dyph3 not currently being aware of Sidekiq.