Olá a todos, estou retomando aqui depois de um tempo ausente para resolver problemas pessoais. Mas isto é uma historia para contar em mesa de bar.
Hoje vamos conversar sobre padronização e trabalho em equipe. Para quem já trabalha com equipe sabe sobre as dificuldade de ser manter um código padronizado e quanto maior a equipe maior a dificuldade.
Quando falamos de padronização temos muitos fatores a considerar e algo que muitos podem até julgar irrelevante, como por exemplo endentação com espaço ou TAB. Parece uma coisa boba mas isto pode gerar um transtorno junto a um versionador.
Uma parte deste problema só é resolvido com alinhamento e bom senso na equipe. Mas temos uma grande parte de normalização que pode ser resolvida com a utilização da ferramenta EditorConfig. Com a ferramenta pode ser definido o tipo e tamanho da endentação, tipo de codificação do arquivo, ser a declaração de uma variável deva ser camel case, snake case ou pascal case. No meu caso, como sou programador C#, consigo garantir que todos irão seguir uma nomenclatura para declaração de métodos, classes, parâmetros ou variáveis locais.
Como isto funciona, na raiz do projeto é incluso um arquivo .editorconfig onde defino as definições a serem utilizadas pelo projeto. Então todas as vezes que optar por formatar o arquivo a definições de como formatar será utilizada a contida no arquivo. Para algumas linguagens e IDEs pode ser definido que uma vezes que o código não atenda a definição a aplicação gere um erro na compilação.
Claro que vale ressaltar que em alguns IDE ou mesmo versões do IDE deve ser instalado a extensão para a utilização da ferramenta. E em nota pessoal, com este POST não tenho como objetivo ensinar como escrever as definições no arquivo do EditorConfig e sim expor a ferramenta e o beneficio do uso da mesma de forma simples e rápida.
Para a escrita das definições aconselho uma pesquisa no site do EditorConfig e uma pesquisa no site do mantenedor linguagem sendo utilizada, pois existem definições especificas para a linguagem.
Top comments (0)