Lição 12

Indentação e quebras de linha

Quando formatar ajuda humanos, quando bytes minificados importam e convenções de equipe.

JSON não exige espaço em branco entre tokens. Indentação e quebras de linha são escolhas editoriais — não mudam valores parseados, mas mudam como humanos e ferramentas de diff percebem o documento.

Duas representações, mesmos dados

Compacto:

{"user":{"name":"Ada","roles":["admin","editor"]}}

Indentado (2 espaços):

{
  "user": {
    "name": "Ada",
    "roles": ["admin", "editor"]
  }
}

Parsers tratam ambos como equivalentes; revisores preferem o segundo em pull requests.

Convenções de equipe

Padrões comuns:

  • 2 espaços — padrão em muitos projetos JavaScript e web
  • 4 espaços — alguns guias de estilo enterprise
  • Tab — raro em JSON porque muitos linters esperam espaços

Escolha uma largura por repositório e aplique em CI com checagem de formatter.

Quando manter compacto

  • Bodies HTTP de produção onde bandwidth é monitorada
  • Configs embutidos com limites rígidos de tamanho
  • Caminhos máquina-a-máquina sem leitor humano

Armazene compacto na rede; formate em logs ou builds de debug se precisar.

Layout amigável a diff

Ordem estável de chaves mais indentação consistente torna regressões visíveis em code review. Ordem aleatória de chaves ou espaçamento misto cria diffs ruidosos que escondem mudanças reais de lógica.

Trate layout como comunicação para humanos, não como parte do modelo de dados JSON.

Voltar à visão geral do curso