Segmentar o código AL e reduzir conflitos de nomenclatura com namespaces
Importante
Esse conteúdo está arquivado e não está sendo atualizado. Para obter a documentação mais recente, acesse Novidades ou alterações no Business Central. Para ver os planos de lançamento mais recentes, acesse Planos de lançamento do Dynamics 365, do Power Platform e do Cloud for Industry.
Habilitado para | Versão preliminar pública | Disponibilidade geral |
---|---|---|
Administradores, criadores, profissionais de marketing ou analistas, automaticamente | 17 de agosto de 2023 | 2 de out. de 2023 |
Valor do negócio
O AL do Business Central agora oferecerá suporte a namespaces, semelhantes a outras linguagens de código. Namespaces são uma maneira de organizar objetos e códigos de modo lógico e hierárquico. Eles podem ser usados para ajudar a evitar conflitos de nomenclatura entre diferentes extensões, facilitando a manutenção e a compreensão das extensões, incluindo o relacionamento entre diferentes objetos.
Detalhes do recurso
Um arquivo AL agora pode definir um namespace no topo, que será aplicado a todos os objetos no arquivo de código. Um determinado objeto pode pertencer apenas a um namespace, mas o mesmo namespace pode ser usado para vários arquivos e objetos AL.
Quando os objetos são resolvidos, o escopo mais próximo é usado primeiro. Portanto, para resolver um objeto com nome semelhante em uma extensão dependente, a referência deverá usar um nome totalmente qualificado. Como alternativa, é possível definir diretivas using
para incluir namespaces externos e, dessa forma, omitir nomes totalmente qualificados.
Como os namespaces são úteis para segmentação lógica de extensões, o AL Explorer também mostra namespaces para objetos e permite agrupar objetos por namespace, facilitando a descoberta de objetos relacionados, foco em subáreas de aplicativos e identificação de inconsistências ao adicionar novos objetos.
Os namespaces aninhados fornecem melhor nomenclatura de objetos do que a expressão da estrutura completa no nome do objeto de 30 caracteres. No entanto, renomear objetos existentes é uma alteração interruptiva. Portanto, esse recurso ajuda principalmente na estrutura lógica dos objetos existentes e nos novos nomes daqui para frente.
Ações de código serão disponibilizadas para ajudar os desenvolvedores a adicionar namespaces às fontes existentes.
Aqui estão alguns exemplos, primeiro sobre a definição de namespace no código.
Depois, sobre como você pode incluir objetos em outros namespaces em seu escopo para usá-los.
Por fim, aqui está um exemplo de objetos de aplicativo base agrupados por namespace, com a tabela Customer residindo no namespace Microsoft.Vendas.Cliente. Agrupar objetos por namespace dessa maneira torna mais fácil focalizar e localizar objetos relacionados.
Consulte também
Namespaces no AL (docs)