Refactoring 032 - Apply Consistent Style Rules
Make your code look the same everywhere for everybody
TL;DR: When machines generate large amounts of code, you need to apply one consistent style to all files.
Problems Addressed 😔
Inconsistent tabs
Mixed spaces
Uneven braces
Disordered methods
Inconsistent indentation
Mixed formatting styles
Random spacing patterns
Scattered method ordering
Irregular brace placement
etc, etc.
Related Code Smells 💨
Code Smell 48 - Code Without Standards
Code Smell 164 - Mixed Indentations
Code Smell 211 - Tab over Spaces
Code Smell 87 - Inconsistent Parameters Sorting
Code Smell 173 - Broken Windows
Steps 👣
Choose a consistent indentation standard (tabs or spaces)
Apply uniform brace placement rules throughout files
Standardize spacing around operators and keywords
Organize methods with public declarations before private ones
Configure automated formatting tools to maintain standards
Create tests to enforce your rules
Apply them as a hook for git commits
Teach your AIs to memorize these rules when generating code
etc, etc.
Sample Code 💻
Before 🚨
class User{
private name;
public email;
constructor(name,email) {
this.name=name;
this.email = email;
}
private validateEmail() {
return this.email.includes('@');
}
public getName(){
return this.name;
}
public setName(newName)
{
this.name=newName;
}
}
After 👉
class User {
public email;
private name;
// Step 1: Choose consistent indentation (2 spaces)
// Step 4: Public methods before private ones
constructor(name, email) {
this.name = name;
this.email = email;
}
public getName() {
return this.name;
}
// Step 3: Standardize spacing around operators
public setName(newName) {
this.name = newName;
}
// Step 2: Apply uniform brace placement
private validateEmail() {
return this.email.includes('@');
}
}
Type 📝
[X] Automatic
Safety 🛡️
This refactoring is safe, as it only changes visual formatting without altering the code's behavior.
Modern IDEs and formatters can apply these changes automatically without risk of introducing bugs.
Why is the Code Better? ✨
You improve readability and make your code easier to navigate.
You remove the mental overhead of switching styles across files.
Your code reviews will focus on meaningful semantic changes.
Consistent formatting reduces cognitive load when reading code, makes code reviews more focused on logic rather than style, and enables better collaboration between team members.
You also establish a foundation for maintainable code that new developers can understand quickly.
How Does it Improve the Bijection? 🗺️
You create clearer visual representations that mirror the logical structure of your real-world domain.
When formatting reflects the hierarchical relationships and importance levels in your business logic, you maintain better alignment between the problem space and solution space.
Limitations ⚠️
You need team-wide agreement on formatting standards to be effective.
Different team members might have strong preferences for specific styles.
Large codebases require significant time investment and coordination to apply uniform styling across all files.
Refactor with AI 🤖
Suggested Prompt: 1. Choose a consistent indentation standard 2. Apply uniform brace placement rules throughout files 3. Standardize spacing around operators and keywords 4. Organize methods with public declarations before private ones 5. Configure automated formatting tools to maintain standards 6. Create tests to enforce your rules
Without Proper Instructions 📵
With Specific Instructions 👩🏫
Tags 🏷️
Standards
Related Refactorings 🔄
Refactoring 005 - Replace Comment with Function Name
Level 🔋
[X] Beginner
See also 📚
Credits 🙏
Image by Michal Jarmoluk on Pixabay
This article is part of the Refactoring Series.
How to Improve your Code With easy Refactorings
Refactorings are amazing to grow and improve our code