mirror of https://github.com/garritfra/garrit.xyz
Garrit Franke
2 years ago
1 changed files with 55 additions and 0 deletions
@ -0,0 +1,55 @@
|
||||
--- |
||||
title: The only true answer to 'tabs vs spaces' |
||||
date: "2022-06-29" |
||||
tags: "note, guide, 100DaysToOffload, programming, practices" |
||||
--- |
||||
|
||||
I recently dove into a new project at work. We're starting from a blank page, |
||||
so of course this classic question came up: |
||||
|
||||
> "So should we use tabs or spaces for our formatting?" |
||||
|
||||
One of my teammates explained to us why the only logical answer to this is |
||||
"Tabs", and you'll soon know why. |
||||
|
||||
## The problem |
||||
|
||||
Most formatters, by default, use either two or four spaces for indentation by |
||||
default. The [Prettier](https://prettier.io/) formatter does this, and it |
||||
somewhat became the norm for JavaScript projects. This has one huge downside |
||||
though: everyone on the team has to agree, or live with this standard. |
||||
|
||||
Nowadays, almost all editors come with the ability to change the preferred |
||||
indentation settings, which will be overridden by the settings of the |
||||
formatter. I prefer an indentation of 4 spaces, which is reflected in all of my |
||||
code. If I'm working on a project that uses an indentation of 2 spaces via |
||||
prettier, my preference will be overridden when formatting the code. |
||||
|
||||
## Just use tabs |
||||
|
||||
The solution to this problem is simple: Create a `.editorconfig` file and set |
||||
the indentation style to tab, without a width: |
||||
|
||||
```editorconfig |
||||
root = true |
||||
|
||||
[*] |
||||
end_of_line = lf |
||||
charset = utf-8 |
||||
indent_style = tab |
||||
``` |
||||
|
||||
Almost all editors will be able to pick this file up and configure some |
||||
project-wide settings. If your editor is configured to use a indent width of 4, |
||||
this setting will be respected. If you're a maniac that indents their code with |
||||
8 spaces, you'll be pleased to see that you can finally use this style in your |
||||
code, without forcing anyone else to do as you do. |
||||
|
||||
Even GitHub, GitLab and friends are able to respect this setting, giving |
||||
everyone the opportunity to view code in their preferred style. |
||||
|
||||
I hope you now know why using a single tab of indendation makes the most sense if |
||||
you're working in a team. Let me know your thoughts! |
||||
|
||||
This is post 035 of [#100DaysToOffload](https://100daystooffload.com/). |
||||
|
Loading…
Reference in new issue