Padronizando a codificação de seus projetos com EditorConfig | Devzera
05 de outubro de 2018 - 2 minuto(s) de leitura
Padronizando a codificação de seus projetos com EditorConfig
Vamos falar sobre um problema
Nem sempre temos controle ou poder sobre todos os projetos que mexemos, e isso acontece muito quando pego algum freela.
Já aconteceu de eu precisar dar manutenção em um projeto juntamente com outros 2 programadores, e cada um de nós usávamos uma ferramenta diferente, com configurações de coding style distintas. O que aconteceu? O código sempre ficava horrível de ser ler sempre que abríamos um arquivo que havia sido editado previamente pelo outro, e o código não mantinha um padrão de leitura. O que poderia ser feito?
Fazendo uma tradução do que o próprio site do EditorConfig diz:
O EditorConfig ajuda os desenvolvedores a definirem e manter um coding style consistente entre diferentes editores de texto e IDEs.O projeto EditorConfig consiste em um formato de arquivo para definir o coding style, e vários editores de textos e IDEs conseguem ler esse formato de arquivo e aplicar as configurações ali especificadas. Esse arquivo do EditorConfig é bem fácil de ler e funciona tranquilamente integrado com sistemas de controle de versão.
Se isso não foi claro, segue o que ele é: um formato de arquivo para você definir o coding style de várias linguagens pra uma porrada de editor/IDE conseguir aplicar.
root = trueindica que esse arquivo está na raiz do projeto e também que ele é o principal — digo isso pois é possível colocar outros arquivos em outras pastas;
[*.js]indica que todas as regras abaixo serão definidas apenas para arquivos Javascript;
charset = utf-8indica o charset do arquivo;
end_of_line = lfindica que tipo de quebra de linha será usado — lf(Unix), crlf(Windows) e cr(macOS);
insert_final_newline = trueindica que uma nova linha deve ser criada ao final;
indent_style = spaceindica que o tipo de espaço utilizado(quando se usa o tab) será usando espaços;
indent_size = 2indica o tamanho do tab;
trim_trailing_whitespace = trueindica que devem ser removidos espaços em branco no fim de todas as linhas.
Abaixo as ferramentas que suportam esse formado de arquivo nativamente:
E aqui, as ferramentas que aceitam através de plugins:
Ele não chega a ser um lint — é uma ferramenta que faz análise do seu código para ver se você está seguindo um padrão previamente configurado — , mas deixará seu editor/IDE com configurações básicas para deixar parte do código padronizado.
Para entender a parte sobre quebra de linha;
[Para entender a parte sobre quebra de linha[2]](https://stackoverflow.com/questions/1552749/difference-between-cr-lf-lf-and-cr-line-break-types)