I dont think this is a good idea, actually. Good design is about making good trade offs at the right point in time.
A code base with excellent design will show you the end state but not how it got there but probably not the trade offs and decisions involved.
Practicing refactoring on subpar code bases and dealing with the consequences of your decisions is a better way to improve.
replies(1):