Toggle Menu

JavaScript Best Practices Workshopper

A self-paced command-line workshopper to learn the best practices of writing clean JavaScript code, featured on

In 2016, Excella’s JavaScript Capability Area created a self-paced CLI tool, so developers can learn some of the Agile Engineering best practices, critical for delivering a high-quality codebase, like SOLID principals using JavaScript.

Excellians Kevin Groat, Doguhan Uluca, Sam Blissard, Brendan Sawyer, Alex Hoffman, and Cameron Ivey, among others, created the initial English version. Since that time, community members have submitted bug fixes to improve it and added translations for Portuguese and Russian.


The goal of this workshopper is to help developers learn how to create a resilient codebase using best practices. The workshopper guides developers through exercises that make incremental improvements to a “bad” codebase. The exercises help developers learn how to keep code maintainable and avoid poor coding practices.


Developers begin by making changes to a vending machine app, primarily using a file called vendingMachine.js. In the next few exercises, developers break down the vending machine into a program that functions the same but is easier to maintain, test, and update.

Developers learn:

  • Separation of Concerns
  • Avoiding Switch Statements
  • Test-Driven Development
  • Fixing teammates’ mistakes


We welcome your issues, questions, ideas, and contributions on GitHub. We’d love for you to check out, star, or fork the project at:



Share This

Share on Twitter Share on Facebook Share on LinkedIn Share via email

You Might Also Like


The Risks of Insecure YAML Deserialization in Python

YAML is a python favorite for object serialization, especially around application configuration. So, it is...


Agile eXamined: The Sprint Goal

Daily standups, acceptance criteria, user stories, retrospectives…am I right Agilists? In the day-to-day, it’s easy...

Artificial Intelligence (AI)

Contextualizing Responsible AI Practices for Fraud Detection

Developing and sharing Responsible Artificial Intelligence (AI) practices are a key element in protecting the...