Hoje no mercado temos Sublime Text, Vim, Visual Studio Code, Brackets, TextMate, são muitos editores de código, ao mesmo tempo que cada um tem uma formatação diferente para lidar com espaços e a sua indentação, isso pode ser um problema quando estamos programando em equipe, vem comigo que te explico.

Tab ou espaço? 4 ou 3 tamanhos?

Gosto é algo pessoal, concordo, mas quando se está em equipe é preciso chegar a um acordo quanto as regras de estilo do código da empresa, isso pode parecer perda de tempo mas, quando temos um padrão e todos conhecem esse padrão a leitura do código irá ser mais produtiva economizando o tempo para entender a lógico, e isso consequentemente impacta em menos stress, menos horas para empresa pagar e por ai vai. 

Dito isso, onde queremos chegar? Imagine se existisse um arquivo no projeto que ditasse as regras do jogo, então independente se eu gosto de espaçamento com tab, quando eu abrir o projeto X especifico ele será com space na indentação, isso é possível graças ao projeto EditorConfig.

O projeto

O projeto EditorConfig é uma forma de manter a consistência do código escrito por mais de um programador, com ele temos um arquivo simples que dita o seguinte:

“Nesse projeto, as regras de indentação são essas aqui…”

Consistência amigos, é uma coisa que devemos ter na hora de escrever código, isso parte do principio do código limpo, se você começou escrever de uma maneira, continue até o fim do projeto, e não poderia ser diferente com indentação, por isso o projeto EditorConfig é tão importante.

O que é possível fazer

Para usar o projeto, você irá criar um arquivo .editorconfig, um exemplo simples de um arquivo determinando que o projeto será com indentação com espaços e tamanho 4 é o seguinte:

root = true

indent_style = space
indent_size = 4

É possível ainda determinar estilos diferentes para diferentes linguagens:

root = true

# Todos arquivos python
[*.py]
indent_style = space
indent_size = 4

Plugin para Visual Studio Code e outros

Você pode instalar o plugin do projeto no Visual Studio Code buscando nas extensões do editor, é super simples, mas se você usa outro editor não fique bravo, existe uma lista extensa com suporte ao projeto, confira aqui.

Grandes projetos usam

Se você é daqueles que gosta de ver alguém grande usando para acreditar, segue alguns projetos de peso:

  • AngularJS
  • Bootstrap
  • CakePHP
  • Django
  • Ionic
  • Laravel
  • React

A lista completa você pode conferir aqui.

Categorias: Clean Code