lucas.gaspareto_
/
// ──────────────────────taste · princípio 3──────────────────────
← todos os princípios

// princípio 03

Padrões são inegociáveis

Inconsistência nunca é a resposta. Respeita o sistema ou substitui.

Se existe uma biblioteca de UI ou um token set, é a fonte da verdade — todo componente novo respeita. Se não existe padrão pra algo que você precisa, seu primeiro movimento é escolher um e comitar, não improvisar. "Vou usar inline style só essa vez" é exatamente como codebase apodrece.

Aplica a: bibliotecas de componente, design tokens, escalas tipográficas, escalas de espaçamento, icon sets, convenções de nomenclatura de prop, estrutura de arquivo de teste, organização de arquivo, padrões de export.

Sinal de violação

Três lugares no codebase fazem a mesma coisa de três jeitos diferentes. Ou: uma cor hex hardcoded dentro de um arquivo de componente. Ou: um novo util que sobrepõe 80% com um util existente.

Contra-sinal

Um novo contribuidor não consegue distinguir qual arquivo você escreveu e qual já estava lá, porque todos seguem o mesmo formato.

Bom exemplo

Um type system que força todo componente de uma dada categoria a usar TypedProps<typeof schema>. Existe exatamente um jeito de escrever o componente, e o type checker rejeita os outros.

Mau exemplo

Dois dialogs na mesma feature usando style={{background: 'var(--card)'}} + backdrop-blur-none! inline, cada um alcançado independentemente — que é exatamente por que você eventualmente adicionaria uma prop variant="solid" à primitiva.