https://www.freecodecamp.org/news/javascript-naming-conventions-dos-and-don-ts-99c0e2fdd78a/
https://github.com/ryanmcdermott/clean-code-javascript