Skip to content

Instantly share code, notes, and snippets.

@mcsee
Last active July 10, 2025 23:58
Show Gist options
  • Save mcsee/a12f2af0e07a80086bf702e7736328fd to your computer and use it in GitHub Desktop.
Save mcsee/a12f2af0e07a80086bf702e7736328fd to your computer and use it in GitHub Desktop.
This gist belongs to Clean Code Cookbook http://cleancodecookbook.com By Maximiliano Contieri http://maximilianocontieri.com
class Auto {
constructor(motor) {
this.motor = motor
}
// 1. Identify methods that receive owned attributes
startEngine() {
// 2. Remove those parameters from the method signature
// 4. Rename the method if needed to match the new intention
this.motor.ignite()
}
}
// Adjust usage to call without passing motor
const motor = new Motor()
const auto = new Auto(motor)
// 3. Replace usage with direct access to the attribute
auto.startEngine() // No parameter needed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment