Skip to content

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.