https://medium.com/@TechnologyMoment/javascript-best-practices-every-developer-should-know-46be3351bd22