Source: https://www.planetgeek.ch/wp-content/uploads/2013/06/Clean-Code-V2.pdf