Guia de Boas Práticas para Desenvolvimento de Add-ons

Este guia tem como objetivo fornecer diretrizes essenciais para o desenvolvimento de add-ons dentro do ecossistema Sankhya. Seguir essas boas práticas ajudará a garantir que os add-ons sejam eficientes, seguros, escaláveis e fáceis de manter. Além disso, a adoção dessas recomendações contribui para a compatibilidade com futuras atualizações do sistema e para uma melhor experiência dos usuários finais.

Estruturação e Modelagem de Dados

  • Não criar campos com valor default em tabelas nativas: O sistema possui mecanismos que irão atuar no processo de instalação do Addon, causando falhas e impedindo a atualização correta do addon.

Desenvolvimento de Código

  • Não criar variáveis globais em serviços: Isso pode causar efeitos colaterais inesperados e dificultar a manutenção do código.
  • Utilizar prefixo em objetos do Add-on:
    • jndiname (Serviços, Jobs)
    • Instâncias
    • Campos
  • Não misture componentes de módulo java e Addon: O Addon nas versões mais recentes do sankhya rodam de forma isolada do sistema, de forma que as personalizações desenvolvidas no ERP, não funcionam utilizando recursos do Addon.

Organização do Código e Arquitetura

  • Mantenha o Add-on pequeno:
    • Evitar dependências desnecessárias.
    • Utilizar técnicas para minimizar o tamanho do pacote.
    • Evitar bibliotecas externas pesadas.
  • Assinatura do projeto:
    • Utilizar a chave da Área do Desenvolvedor para garantir a integridade do projeto.
  • Utilizar boas práticas de engenharia de software:
    • Clean Code: Código legível, modular e bem estruturado.
    • Padrões de projeto: Aplicar padrões adequados ao contexto.
    • Reaproveitamento de código: Criar bibliotecas reutilizáveis.
    • Alta coesão: Evitar classes monolíticas, que fazem tudo.
    • MVC:
      • Projetos já são separados em -model e -vc.
      • No -model, implementar regras de negócio.
      • No -vc, implementar a interface de usuário (camada web).

Versionamento e Deploy

  • Versionar corretamente:
    • Código-fonte.
    • Scripts.
    • Dicionário de dados.
  • Manter atomicidade: As mudanças devem ser consistentes e isoladas para evitar estados inconsistentes.
  • Contexto de add-on é único por appkey:
    • Alterar appkey sem mudar o contexto pode causar erro na instalação do Addon.
    • O erro "Já existe um add-on de mesmo contexto" é gerado ao tentar instalar um add-on com appkey diferente, mas com o mesmo contexto.

Próxima página