https://medium.com/@spacapan.saso/clean-code-practices-for-java-interviews-a-comprehensive-guide-a9c716def33f