gRPC Reserved Fields Builder
Gera cláusula "reserved" para .proto a partir de uma lista de números de campos.
Cláusula proto
—
Reservar números de campo removidos em Protocol Buffers
Em Protocol Buffers, o que identifica um campo na codificação binária é o número, não o nome. Remover um campo e mais tarde reaproveitar aquele número faz o novo campo receber os bytes do antigo — sem erro, sem aviso, com o valor errado no lugar certo. A palavra-chave de reserva existe para tornar isso impossível: o compilador recusa qualquer tentativa de reusar um número reservado.
Informe os números ou faixas removidos e a página monta a declaração. Faixas usam hífen, e vários itens são separados por vírgula. Vale reservar também o nome do campo, numa declaração separada, para o caso de alguém recriar um campo com o mesmo nome e outro número — o que confunde quem lê o esquema mas não quebra a codificação.
A regra prática é reservar sempre que remover, mesmo em esquema interno. O custo é uma linha; o custo de não fazer é um bug de dados que aparece só depois que as duas versões do esquema convivem em produção, e que é dos mais difíceis de rastrear, porque o valor chega íntegro e no campo errado. Vale lembrar que os números de 19000 a 19999 já são reservados pelo próprio protocolo.
Perguntas frequentes
Preciso reservar o nome também?
Qual a diferença entre reservar e marcar como obsoleto?
Que números devo evitar?
Ferramentas Relacionadas
OIDC Discovery URL Builder
Monta URL de descoberta OpenID Connect (.well-known/openid-configuration) a partir do issuer.
/etc/hosts a partir de CSV
Monta entradas /etc/hosts a partir de CSV (ip,hostname por linha).
OAuth2 Authorization URL Builder
Monta URL de autorização OAuth 2.0 com response_type, client_id, redirect_uri, scope, state.
Gerador Tailwind Config (CLI)
Gere um tailwind.config.js pronto para usar com a Tailwind CLI, com paths de conteúdo e tema configurados. Copie e comece a estilizar em segundos.
Conversor PX ↔ REM / EM
Converta pixels para REM e EM e vice-versa com base configurável. Tabela de referência com os tamanhos mais usados em CSS. Essencial para web.
Gerador de Cron
Gera expressões cron (5 campos: minuto, hora, dia, mês, dia-da-semana) com presets comuns e descrição em linguagem natural.