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 Transient Team Charter

In nearly any industry, the best work is accomplished by teams. The best teams are...


Cynefin 101

Cynefin is a sensemaking framework that helps teams conceptualize different types of problems and agree...


Focus on Flow of Work Instead of Velocity to Track Progress

With an agile team, the flow of work is crucial. We want to move work...