EditorConfig - Padronização de código para seus projetos

Artigo que fala sobre o maravilhoso EditorConfig para padronizar estilos de código em seus projetos de desenvolvimento, independente da linguagem, sistema operacional ou editor/IDE utilizado.

[ Hits: 5.798 ]

Por: Gildásio Júnior em 16/01/2017


Introdução



Cansado de sempre discutir com sua equipe sobre padrões de estilização de código e ainda continuar dando ruim? Bem, Editor Config [0] deve ser a solução que você esperava!

O que é EditorConfig

É um plugin que você pode instalar em vários editores de código ou IDEs para padronização dos estilos.

Por exemplo, tamanho de tabulação. Se a endentação será feita por tabs ou espaços. Linha em branco no fim do arquivo?

Ele trabalha de forma simples, apenas instale o plugin em seu editor e crie um arquivo ".editorconfig" na raiz do seu projeto. Você também pode ter um arquivo desses como configuração global em sua máquina, basta adicionar o arquivo em seu diretório Home.

Instalação

Como utilizo vim, vou deixar aqui um link direto para as instruções que o próprio projeto disponibiliza: editorconfig-vim [1]

Os demais programas você pode ver na seção sobre download [2] no site do Editor Config para saber como fazer.

Montando arquivo de configuração

O arquivo pode ficar alocado tanto no repositório de cada projeto como você pode fazer um padrão para você, localizado em sua pasta de usuário. O arquivo leva o nome ".editorconfig", simplesmente.

Quando o Editor Config vai começar a trabalhar, ele 'olha' para o diretório atual do arquivo aberto, em busca do ".editorconfig" e vai olhando também em todos os diretórios-pai desse. Só para quando encontra a cláusula "root = true" em um desses arquivos. Portanto, é interessante começar o arquivo de configuração de seu projeto já com isso.

Nesse arquivo, você pode fazer as regras dos estilos variando pelo formato do arquivo, utilizando as extensões como delimitadores, por exemplo "[*.html]", ou colocar para valer para todos os formatos, com "[*]".

Importante salientar que a ordem em que as coisas são colocadas, importa. Ele vai ler o arquivo e aplicar a configuração de cima para baixo, portanto, configurações mais genéricas devem ficar no topo.

Depois, basta você colocar as propriedades e seus valores na sequência. A lista de todas as propriedades você pode ver na wiki do Editor Config [3], mais especificamente nessa página [4].

Algumas dessas propriedades eu acho bem interessante para se citar aqui, seguem elas:

### Charset

Você pode configurar o charset utilizado nos arquivos, veja:

~~~
charset = utf-8
~~~

### Endentação

Endentação é algo importante e que é caso de vida ou morte, certo? Pois bem, você pode configurar como que vai ser a endentação, com espaços ou tabs, e colocar o tamanho:

~~~
indent_style = space
indent_size = 4
~~~

### Remoção de espaços em branco

Outra coisa interessante é tirar todos os espaços em branco que acaba deixando no final das linhas, seja por qualquer motivo. Para resolver isso:

~~~
trim_trailing_whitespace = true
~~~

Outras propriedades

Ainda há várias outras propriedades, como falei anteriormente, como por exemplo, insere uma linha em branco no fim dos arquivos. E como deve ser tratado o final da linha?

Enfim, fica aí a página com as propriedades que o plugin aceita para uma configuração mais personalizada a partir de suas necessidades.

Utilização em projetos

É interessante utilizar esse tipo de configuração em projetos para poder ter uma padronização do estilo do código. Principalmente, quando falamos do mundo software livre, em que diversos programadores, com diversas configurações pessoais, estão ajudando em um mesmo projeto.

É bastante comum de se ver um ".editorconfig" na raiz de vários projetos que se tem por ai. Faça uma pesquisa dessas [5] no Github que você verá a quantidade de resultados que não aparece.

E é muito bom começar a fazer uso disso, principalmente para não ter essas inconsistências e acabar matando o padrão outrora resolvido, simplesmente por um mal entendido, certo?


Por fim, um forte abraço a todos e até mais ver!

Originalmente postado em meu blog pessoal: gjuniioor.github.io/blog/editorconfig


   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

WeeChat - Um (O) cliente IRC CLI

Copie/Cole conteúdo do terminal para o X e vice-versa

VirtualBox no Arch Linux

Como contribuir para projetos abertos no GitHub

Compartilhando o Terminal

Leitura recomendada

Camada de Transporte TCP/IP e Aplicação

Máquina Enigma e encriptação em XOR

Codificação e decodificação entre ASCII, hexadecimal e unicode

Entenda o XML - Parte 1

Alternativas ao Google - Sites de busca e motores de procura

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts