👋 Some time ago I've written a blog post about the problem related to working with classes/modules/functions/methods with both high complexity level and high frequency of changes. It's a problem because if you're doing changes in files that are complex and are often edited - you can easily introduce an error into your application. That's quite dangerous!
Refactoring in itself has no sense - but when it comes to solving problems with more complicated pieces of code that have a chance to destroy your critical business path - then refactoring is worth doing.
How to find refactoring candidates? Use churn! I've created this tool (it's still under development) for detecting which modules need your attention. That's ported Ruby/PHP library. :) I'm still learning Elixir and this project is helping me a lot.
Every improvement related to other things than bottlenecks is muda. When you're using Churn then you'll be focused only on real problematic places in your code.
👉 https://github.com/patrykwozinski/churn
Feel free to contribute, there are many things to do in this project (cache, better parallelism, and so on).
Happy refactoring! 👨💻
Top comments (0)