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 💨
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-x-i7r34uj
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxxiii
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xliii
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxxii
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xviii
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxxv
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 |
|—-|—-|
| ChatGPT | ChatGPT |
| Claude | Claude |
| Perplexity | Perplexity |
| Copilot | Copilot |
| You | You |
| Gemini | Gemini |
| DeepSeek | DeepSeek |
| Meta AI | Meta AI |
| Grok | Grok |
| Qwen | Qwen |
Tags 🏷️
- Standards
Related Refactorings 🔄
https://hackernoon.com/improving-the-code-one-line-at-a-time?embedable=true
Level 🔋
- [x] Beginner
See also 📚
https://git-scm.com/book/ms/v2/Customizing-Git-Git-Hooks?embedable=true
https://windsurf.com/editor/directory?embedable=true
Credits 🙏
Image by Michal Jarmoluk on Pixabay
This article is part of the Refactoring Series.
https://maximilianocontieri.com/how-to-improve-your-code-with-easy-refactorings?embedable=true