Do you have nice examples of refactoring code?

I am looking for code samples that are good examples of how to refactor code. I would be the happiest if you could provide the code both before and after the refactorings. I am interested in any language, but Java and Python is preferred.

Why? I am planning to make a meetup on the topic and I would need a good base for it.

(I know that there are a lot of stuff out there like, etc, but I am interested in real-life code samples! :) Also, I have a big bunch of code from our codebase, but I hope you might have even more interesting samples! )

Any help is appreciated! :)

Did you find this post useful? Show some love!

Here's a small Python function I refactored - you can see the steps I took:

And here's a good one in Ruby:

This kata is a famous one :

Also, you can take a look at this one :

Java one is also explained in two blog articles here :

I just wrote a post on refactoring some Go code to use interfaces. I outline the steps used to refactor this particular pattern:

I would also suggest reading It's a fantastic book that refactors code throughout the book and explains how to get there.

is it about safe refactoring (with ide)
or refactoring to design patterns? if its the latter, I recommend going through Clean Code by Rob Martin and
Refactoring: Improving the Design of Existing Code by Kent Beck and Martin Fowler

Someone at work asked me to refactor their 99 bottles code. I recorded the refactoring so they could see the process and how I think about it. Before is here and after is here. It's a pretty good demonstration of how I refactor.

(C#) I just made one that I found in StackOverflow. I implemented the code in a WebApi and it is working fine :D

Classic DEV Post from Apr 18

What Is Immutable Infrastructure?

This article explains the conceptual and practical differences between mutable and immutable infrastructure.

Follow @hazelnut to see more of their posts in your feed.
Leonora Der
Java developer and Computer Science student from Hungary. #java #javascript #springboot #vuejs #css
More from @leonorader
Practice refactoring legacy code with hangman
#refactoring #hacktoberfest #legacy #coderetreat
On esoteric languages
#discuss #esoteric #code #fun
Trending on
Do not be this kind of developer
Breaking up with my mouse (Mac edition)
#productivity #webdev
Any idea how to start blogging as a developer?
#discuss #idea #blog
How Can I Help Foster A Culture of Continual Learning?
#discuss #learning Show us your octocat alter ego
#showdev #discuss
Why "Just Unionize" Doesn't Work
#career #gamedev #computerscience
Find someone to mentor
#productivity #career #devto
What types of features typically lead to lots of tech debt?