It is nice going back to code that you have not visited in a while and still being able to pick up the structure of the code and start working on it again quickly. There are a lot of good courses available for free, but one of my favorites is Software Construction from MIT OCW. It is a practical course, and one of the key lessons is to try to write software that is “ready for change”. Keeping this in mind in your personal projects and in professional projects will pay dividends down the road and win you a lot of friends (including your future self).

The Software Construction course presents three high level themes you should think about when writing code:

Safe from bugs –¬†Correct today and correct in the unknown future.

Easy to understand –¬†Communicating clearly with future programmers, including future you.

Ready for change –¬†Designed to accommodate change without rewriting.

https://ocw.mit.edu/ans7870/6/6.005/s16/classes/02-basic-java/