Melhorar a compilação com tipagem direta em 4D

Com 4D 20 R7 pode dizer adeus aos métodos “Compiler_” e abraçar mais liberdade em como e onde declara suas variáveis. Economize tempo mantendo o foco em seu fluxo de trabalho de desenvolvimento e seu processo de codificação graças a Diret Typing.

Em versões anteriores de 4D, os desenvolvedores tinham duas opções para lidar com a digitação de variáveis durante a compilação. Se a configuração “Compilation path” (Caminho de compilação) foi definida para qualquer coisa diferente de “All variables are typed” (Todas as variáveis são tipadas), o compilador tentaria inferir os tipos de variáveis não tipadas com base no seu uso no código. Embora isso possa simplificar as declarações de variáveis, isso tem um custo-benefício:

  • Compilação mais lenta: A inferência de tipagem requer uma passagem de compilação adicional, tornando mais lento o processo geral de compilação.
  • Risco de erros: O compilador pode inferir tipos incorretos, potencialmente introduzindo bugs difíceis de depurar.

 

Para evitar esses problemas, os desenvolvedores foram aconselhados a impor uma tipagem estrita usando a opção “Todas as variáveis são tipadas”. No entanto, isso exigia a declaração de todas as variáveis de processo e entre processos em métodos dedicados “Compiler_”.

Introduzindo a Declaração direta

Para resolver esses desafios, introduzimos a Declaração Direta (direct typing), que simplifica a forma como as variáveis são declaradas e atribuídas um tipo durante a compilação.

Com a Declaração Direta, já não é necessário utilizar os métodos “Compiler_” para declarar variáveis de processo ou interprocesso. Em vez disso, pode agora defini-las onde quer que pertençam logicamente no seu código, quer seja num método, numa classe ou em qualquer outro contexto apropriado. Isto dá-lhe um maior controle sobre a organização do seu código e melhora o encapsulamento.

Essa mudança fornece a flexibilidade para organizar seu código da maneira que desejar, enquanto ainda garante a segurança de tipo e a compilação eficiente.

Adotando a Declaração direta nos seus projetos

Quer esteja a trabalhar num projeto novo ou já existente, a Declaração Direta pode ser facilmente integrada no seu fluxo de trabalho.

  • Os novos projetos utilizam sempre a Declaração Direta. Isto significa que pode começar a usufruir imediatamente das vantagens da declaração flexível de variáveis e de uma melhor organização do código.

  • Para projetos existentes, encontrará uma nova definição no Caminho de Compilação que lhe permite ativar ou desativar a Declaração Direta. Isto assegura a compatibilidade com o código antigo, dando-lhe a opção de migrar ao seu próprio ritmo.

Basta ativar esta definição e poderá declarar as suas variáveis de processo e interprocesso onde quer que faça mais sentido no seu código.

O que há de novo na Declaração direta?

A sintaxe #declare é agora obrigatória para declarar parâmetros de métodos com digitação direta, tornando os comandos tradicionais do compilador como C_TEXT, C_LONGINT, e outros obsoletos. Uma das principais vantagens é que, especialmente em componentes, já não é necessário compilar os componentes ao compilar uma base de host. O compilador irá buscar automaticamente os protótipos de métodos diretamente do código do componente, simplificando e acelerando o processo de desenvolvimento.

Para ajudar na conversão de comandos do compilador como C_TEXT e C_LONGINT para a sintaxe de declaração var, fizemos uma macro 4D disponível no GitHub. Pode aceder a ela aqui: 4D-Macros no GitHub.

como funciona?

  • Quando o compilador encontrar uma variável que não foi explicitamente declarada, ele adiciona essa variável a uma lista de variáveis “a serem declaradas”.
  • O compilador então pausa temporariamente a compilação do método atual e prossegue com a compilação de outros métodos.
  • Antes de fazer a pausa, ele coleta todas as definições de variáveis no método.
  • Depois de compilar todos os métodos, o compilador verifica se todas as variáveis na lista “a digitar” foram encontradas e se lhes foi atribuído um tipo.
    • Em caso afirmativo, retoma a compilação dos métodos anteriormente em pausa.
    • Caso contrário, serão gerados erros para indicar variáveis sem tipo.

Conclusão

A introdução da Declaração Direta marca uma melhoria significativa em como as declarações de variáveis são tratadas em 4D. Ao eliminar a necessidade de métodos “Compiler_” e permitir que declarações de variáveis sejam feitas livremente dentro do código, desenvolvedores 4D agora têm maior flexibilidade e controle sobre como estruturar seus projetos.

Para aprender mais sobre Diret Typing e como implementá-lo em seus projetos, veja nossa documentação.

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.