Boas práticas na criação de componentes
Padrões
- Todos os componentes devem ter o prefixo
Lx
. - Todos os nomes dos componentes devem estar em
PascalCase
. - Todos os componentes devem ter uma pasta com seu nome criada em
src/components/
- Todas as propriedades devem ter o nome em camelCase, começando com a primeira letra minúscula.
- Todas as propriedades devem estar em kebab-cased quando usadas na seção HTML.
- Os atributos HTML que já existem não devem ser definidos como propriedades, com excessão daqueles que estão sendo utilizados pelo componente.
- Os componentes devem ser escritos em inglês.
- Evitar o uso da options-api na escrita de componentes, preferencialmente utilizar a composition-api.
- Todos os componentes devem obrigatoriamente possuir uma prop id obrigatória. -Disponibilizar documentação apropriada conforme os padrões de documentação.
Quebrando componentes
O tamanho e o escopo de um componente é um tema não muito objetivo, abaixo listamos alguns sintomas que podem ajudar a decidir se um componente deve ser quebrado em componentes menores.
- Excesso de props: É um sintoma que pode indicar que o componente está assumindo mais de uma responsabilidade.
- Props condicionais: Quando uma propriedade depende de outra propriedade para ter aplicação.
- Tipo do modelValue condicional: Quando uma prop altera a tipagem da model.
- Renderização condicional: Quando eu tenho uma condição que altera brutalmente o visual do componente.
- Quando precisar, rs: Infelizmente existe um fator subjetivo, que é quando o P&D entender que para uma melhor evolução técnica, um componente deve ser quebrado em outros(sempre se guiando pelo princípio da responsabilidade unica e boas práticas de desenvolvimento).
Componentes de terceiros
Componentes de terceiros sempre são bem-vindos dentro do nosso ecossistema, porém há alguns pontos de atenção:
- Nunca expor diretamente o componente de terceiro, sempre passar por uma camada de abstração.
- Preferir expor somente as propriedades que forem necessárias para o contexto Linx.
- Evite a instalação de pacotes depreciados.
- Sempre avalie a popularidade dos pacotes instalados (quantidade de stars no github, taxa de resolução da issues, se houveram commits recentes).
- Atentar a questões relacionadas a licenciamento.