Do you have nice examples of refactoring code?

twitter logo ・1 min read

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 refactoring.guru, 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! :)

twitter logo DISCUSS (8)
markdown guide
 

I just wrote a post on refactoring some Go code to use interfaces. I outline the steps used to refactor this particular pattern: dev.to/chuck_ha/interfaces-in-go-3onc

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

 

This kata is a famous one :

github.com/emilybache/GildedRose-R...

Also, you can take a look at this one :

github.com/sandromancuso/trip-serv...

Java one is also explained in two blog articles here :

codurance.com/2011/07/16/testing-l...

 

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.

 

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

 

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

stackoverflow.com/questions/333111...

 
 
Classic DEV Post from Sep 17 '18

Who's looking for open source contributors? (September 17 edition)

Find something to work on or promote your project here. Please shamelessly pro...

Leonora Der profile image
Java developer and Computer Science student from Hungary. #java #javascript #springboot #vuejs #css

dev.to now has dark theme. 🌝

Go to the "misc" section of your settings and select night theme

P.S. It's the best move you can make for your dev career.