2013-06-04
Comma first é um estilo de escrita de código onde a vírgula vai no início da linha, e não no final. Parece estranho no começo, mas tem seus motivos.
No estilo tradicional (comma last), você escreve assim:
var cores = [
'vermelho',
'azul',
'verde',
'amarelo'
];
Com comma first, fica assim:
var cores = [
'vermelho'
, 'azul'
, 'verde'
, 'amarelo'
];
Quando você adiciona ou remove um item da lista, o diff do git mostra apenas a linha alterada. No estilo tradicional, adicionar um item no final significa mexer em duas linhas: a que estava sem vírgula precisa ganhar uma.
Comma first:
'vermelho'
, 'azul'
, 'verde'
+ , 'amarelo'
Comma last:
'vermelho',
'azul',
- 'verde'
+ 'verde',
+ 'amarelo'
Com a vírgula no início, é mais fácil perceber visualmente quando uma vírgula está faltando. Todas ficam alinhadas numa coluna só.
Esquecer uma vírgula no final da última linha é um erro comum. Com comma first, isso praticamente não acontece porque a estrutura visual deixa claro onde cada separador está.
O estilo ficou popular no mundo Node.js. O próprio npm e vários projetos do ecossistema adotaram comma first por um tempo. Isaac Z. Schlueter, criador do npm, foi um dos maiores defensores.
Depende. Hoje em dia, com ferramentas como Prettier e ESLint formatando o código automaticamente, a discussão perdeu um pouco da relevância. O que importa mais é manter consistência dentro do projeto.
Comma first é uma daquelas coisas que divide opiniões. Não existe certo ou errado, existe o que funciona melhor pro seu time e pro seu fluxo de trabalho.