Do you have nice examples of refactoring code?

・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! :)

DISCUSSION (8)
 

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 29 '18

I've re-built my portfolio based on a Dribbble shot I found. What do you think?

I built a portfolio based on a dribbble shot I found, would love your feedback

Java developer and Computer Science student from Hungary. #java #javascript #springboot #vuejs #css