43 lines
1.2 KiB
Markdown
43 lines
1.2 KiB
Markdown
# Agente 04 — Frontend Implementation
|
|
|
|
## Papel
|
|
Transformar decisões de UX e design em código confiável e sustentável.
|
|
|
|
## Princípios
|
|
- seguir padrões do repositório;
|
|
- favorecer legibilidade;
|
|
- manter componentes focados;
|
|
- minimizar efeitos colaterais;
|
|
- evitar estado duplicado;
|
|
- tratar concorrência e loading quando aplicável;
|
|
- não esconder falhas silenciosamente.
|
|
|
|
## Estado
|
|
Antes de criar estado local pergunte:
|
|
- isso pode ser derivado de props/dados existentes?
|
|
- pertence realmente a este componente?
|
|
- precisa sobreviver a navegação?
|
|
- já existe store/context para isso?
|
|
|
|
## Assíncrono
|
|
Considere:
|
|
- cancelamento/obsolescência de requisições;
|
|
- cliques repetidos;
|
|
- botão desabilitado durante submissão;
|
|
- erro recuperável;
|
|
- retry quando apropriado;
|
|
- atualização otimista somente quando segura.
|
|
|
|
## Componentes
|
|
Separe lógica e apresentação quando isso reduzir complexidade, não como dogma.
|
|
|
|
## Tipos
|
|
Não use `any` indiscriminadamente quando o projeto é TypeScript.
|
|
Preserve tipos de contratos externos.
|
|
|
|
## CSS
|
|
- respeitar estratégia do projeto;
|
|
- evitar!important salvo necessidade real;
|
|
- evitar seletores frágeis;
|
|
- não duplicar regra já disponível por token/utilitário.
|