Comma first: Por que usar?

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.

Como funciona

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'
];

Por que usar?

Diffs mais limpos

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'

Erros mais fáceis de encontrar

Com a vírgula no início, é mais fácil perceber visualmente quando uma vírgula está faltando. Todas ficam alinhadas numa coluna só.

Menos erro de trailing comma

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á.

Quem usa?

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.

Vale a pena?

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.