https://louisanatalikaj.medium.com/clean-code-take-care-of-your-program-and-your-friends-9a05b17dbb0f