ForHosting KIT · Ferramentas para dev

Validar nomes de feature flags

Digite o nome de uma flag e saiba na hora se ele segue a convenção: enable-checkout-express é válido, com o prefixo enable e três segmentos em minúsculas. Maiúsculas, separadores misturados ou uma palavra solta falham com a lista de motivos. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Nome
enable-checkout-express
Você obtém
Estilo
kebab
Prefixo
enable
Segmentos
enable, checkout, express
Número de segmentos
3

Feature flags (também chamados toggles, gates ou kill switches) só permanecem gerenciáveis quando cada nome segue uma convenção compartilhada. Misturar maiúsculas, restos de camelCase, acrônimos aleatórios e flags sem prefixo de verbo ou área dificulta a busca, quebra painéis e causa colisões entre equipes.

O que a convenção de nomes exige

Um nome de feature flag sob esta convenção é um identificador curto de máquina, não prosa livre. Misturar hífens e underscores no mesmo nome é falha dura, assim como qualquer maiúscula, espaço, barra ou pontuação. Terceiro, o nome deve se dividir em pelo menos dois segmentos não vazios para que uma palavra isolada como checkout nunca seja publicada como flag; as equipes precisam de um prefixo mais um corpo descritivo.

Quarto, o primeiro segmento deve ser um prefixo descritivo conhecido de catálogos comuns: enable, disable, show, hide, allow, deny, use, is, has, can, feature, ff, exp, experiment, rollout, beta, alpha, new, legacy, dark, light, ops, ui, api, web, mobile, backend, frontend, gate, toggle, flag, release, kill, killswitch, perm ou temp. Quinto, o comprimento é limitado a sessenta e quatro caracteres para ser amigável a stores de configuração, variáveis de ambiente e parâmetros de consulta URL.

Separadores iniciais, finais ou duplicados são rejeitados para o código gerado e filtros regex permanecerem simples.

Contrato de entrada, formato da resposta e erros

O valor de exemplo enable-checkout-express é um flag kebab-case válido com o prefixo enable. Quando o nome atende a todas as regras, valid é true, issues é um array vazio e style é kebab ou snake. Números são convertidos em strings; objetos e arrays são rejeitados.

Como a implementação é parse pura de nível A, os resultados são estáveis entre runtimes, sem rede e sem timestamps.

Scripts de migração e limpeza

Verifique em lote flags legados em camelCase ou UPPER_SNAKE e emita uma lista de issues legível por máquina para cada candidato a renomeação.

O que acontece se o nome estiver vazio?

Nomes vazios ou só espaços não podem ser avaliados contra a convenção.

Quais prefixos descritivos são permitidos?

Prefixos comuns de catálogo como enable, disable, show, hide, feature, ff, exp, experiment, rollout, beta, api, ui, gate, toggle, release, kill e marcadores de área ou intenção semelhantes listados pelo verificador.

Posso misturar hífens e sublinhados no mesmo nome?

Não. Cada nome usa um único estilo de separador do início ao fim: hífens ou sublinhados, nunca os dois. Misturá-los é falha direta, assim como uma letra maiúscula, um espaço, uma barra ou qualquer sinal de pontuação.

Por que uma palavra só, como checkout, é rejeitada?

Porque a convenção exige pelo menos dois segmentos não vazios: um prefixo conhecido, como enable ou rollout, e um corpo descritivo. Uma palavra solta não diz que tipo de chave é nem a qual área do produto pertence.

Quantos caracteres o nome de uma flag pode ter?

Até 64. O limite mantém os nomes práticos em arquivos de configuração, variáveis de ambiente e endereços web. Separadores no começo, no fim ou repetidos em sequência também são recusados.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev/feature-flag-name-validate

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/dev/feature-flag-name-validate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"enable-checkout-express"}'
{
  "name": "enable-checkout-express"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.feature_flag_name_validate",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Esta capacidade valida um nome candidato contra um padrão prático da indústria: não vazio, todo em minúsculas, em kebab-case com hífens ou em snake_case (nunca os dois separadores na mesma string), pelo menos dois segmentos, prefixo descritivo como enable, feature, ff, rollout ou beta, no máximo sessenta e quatro caracteres e sem separadores nas bordas nem consecutivos. Entrada vazia falha com invalid_input e não é cobrada. Falhas de convenção devolvem um payload de sucesso com valid em false e uma lista ordenada de issues para a integração contínua falhar o build com um relatório claro.

O que a convenção de nomes exige

Primeiro, não pode estar vazio nem ser só espaços: um nome vazio é rejeitado imediatamente como invalid_input porque não há nada útil a avaliar. Segundo, cada caractere deve ser letra ASCII minúscula, dígito e exatamente um estilo de separador: hífens para kebab-case ou underscores para snake_case. Juntas, essas regras se alinham a chaves no estilo LaunchDarkly, toggles Unleash e a maioria dos arquivos JSON ou YAML internos sem inventar um dialeto de um único fornecedor.

Contrato de entrada, formato da resposta e erros

Em sucesso a resposta sempre inclui valid (booleano), o name após trim, style (kebab, snake ou null quando o padrão não foi classificado), prefix (primeiro segmento ou null), segments como array ordenado de strings, segment_count, has_descriptive_prefix, issues como lista estável e ordenada de códigos legíveis por máquina, e uma frase curta de convention adequada à interface. Quando o nome existe mas quebra a convenção, valid é false e issues lista códigos como not_lowercase, mixed_separators, missing_descriptive_prefix, too_few_segments, invalid_characters, consecutive_separators, leading_or_trailing_separator, too_long, missing_separator_segments ou invalid_pattern—sem lançar erro—para linters e bots de pull request imprimirem todos os problemas de uma vez. Somente nomes vazios, ausentes ou não string lançam invalid_input; essas falhas não consomem saldo pré-pago.

Onde a validação de nomes de flags se paga

Equipes de plataforma e de experiência do desenvolvedor conectam esta verificação a geradores de scaffolding para que novos flags não entrem sem prefixo nem estilo de separador. Jobs de integração contínua examinam pull requests que tocam catálogos de flags ou arquivos de ambiente de exemplo e falham o build quando um nome confundiria operadores meses depois. Ferramentas de analytics de produto e de experimentos usam as mesmas regras ao registrar chaves de rollout para painéis agruparem por prefixo de forma consistente em mobile, web e backend. Bots de code review chamam a API com uma string candidata e colam a lista de issues no fio da revisão em vez de discutir estilo por gosto. Como cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo, você pode validar milhares de nomes em um script de migração sem gasto surpresa; envios vazios permanecem sem cobrança como erros do cliente. Mantenha a tabela de prefixos alinhada ao estilo da sua organização mapeando verbos internos para o conjunto suportado, ou envolva este endpoint e rejeite qualquer prefixo que sua política proíba mesmo quando a convenção base passa.

Lint de CI para catálogos de flags

Analise arquivos YAML ou JSON de flags em pull requests e falhe o build quando algum nome estiver vazio, misturar maiúsculas ou faltar prefixo descritivo.

Scaffolding e geradores CLI

Valide o nome que um desenvolvedor digita antes de gravar enable-foo-bar em configuração, stubs de SDK ou painéis de feature toggles.

O que é um nome de feature flag válido?

Uma string não vazia em minúsculas em kebab-case ou snake_case, pelo menos dois segmentos, primeiro segmento um prefixo descritivo (por exemplo enable, feature ou ff), no máximo 64 caracteres, sem misturar separadores.

Nomes camelCase ou PascalCase são aceitos?

Não. Letras maiúsculas produzem not_lowercase na lista de issues e valid fica false. Converta primeiro para kebab-case ou snake_case.

Quanto custa o validador de nomes de feature flags?

A ferramenta do navegador é gratuita. Requisições API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada vazia inválida não é cobrada.

Ver a documentação completa do KIT →