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.