Introduction de Code Live Checker : améliorer la qualité du code dans le développement 4D

4D v20 R4 introduit le Code Live Checker, un algorithme utilisé pendant la compilation, la vérification de la syntaxe et la saisie du code dans l’éditeur de code. Dans cet article de blog, nous allons explorer les aspects uniques qui rendent cette fonctionnalité utile pour les développeurs 4D.

Dans le développement 4D, les classes représentent une grande amélioration.

Désormais, le Code Live Checker permet d’éviter les erreurs telles que les fautes de frappe ou les erreurs de logique. Vous pouvez voir cette vérification pendant que vous tapez ou pendant la vérification syntaxique et la compilation. Il est important de savoir que cette fonctionnalité ne fonctionne que dans les classes qui utilisent la notation par points.

Elle vous donne également de nouveaux avertissements si votre code semble incohérent et crée des erreurs si votre code risque de provoquer des erreurs d’exécution.

Classes

Une erreur est générée lorsque le nom d’une classe utilisée n’existe pas dans les class-stores ds, cs, ou 4D. Cela permet d’éviter les erreurs de frappe, en particulier celles liées à la casse.

Fonctions des classes

Le Code Live Checker vérifie plusieurs éléments concernant les fonctions de classe.

  • Un avertissement est affiché si une déclaration de paramètre est faite en dehors du prototype de la fonction.

blank

  • Un autre avertissement est affiché lorsqu’une fonction de classe inexistante est appelée.

blank

  • Lors de l’appel d’une fonction de classe, un avertissement est généré si le nombre de paramètres utilisés dépasse ceux déclarés dans le prototype.

blank

Vérification de la compatibilité des types

Une vérification des types est maintenant effectuée dans plusieurs cas :

  • Une erreur est maintenant générée lors de l’assignation de variables de types incompatibles. Ceci s’applique également aux propriétés de classe, aux attributs de dataclass et aux attributs calculés de dataclass.

blank

  • Lors de l’appel d’une fonction de classe, un avertissement est généré si les types des paramètres sont incompatibles.

blank

Classes de données ORDA

L’utilisation de dataclass ou d’attributs de dataclass inconnus génère désormais une erreur. Cela permet d’éviter les erreurs de saisie qui peuvent générer des erreurs d’exécution.

blank

CompoNEnts CLASSES

Tous les comportements décrits pour les classes s’appliquent également aux classes de composants partagés si le composant contient son fichier de syntaxe.

blank

Remarques

Dans l’éditeur de code 4D, le Code Live Checker se déclenche automatiquement après une seconde lors de la saisie d’une méthode et lors de l’enregistrement d’une classe.

Le compilateur 4D peut ajouter des erreurs à la liste d’erreurs générée par le Code Live Checker. Contrairement aux erreurs du Code Live Checker, après avoir été corrigées, ces erreurs du compilateur restent affichées jusqu’à ce que le projet soit compilé à nouveau ou redémarré.

Nous nous efforçons constamment de fournir à nos utilisateurs la meilleure expérience possible, et nous vous encourageons à partager vos réflexions et vos commentaires sur le forum 4D. Vos commentaires nous aident à mieux comprendre vos besoins et à améliorer continuellement nos produits et services.
Bon codage !

Avatar
- Product Owner -Damien Fuzeau a rejoint l'équipe 4D Product en février 2019. En tant que Product Owner, il est en charge de la rédaction des user stories, puis de leur traduction en spécifications fonctionnelles. Son travail consiste également à s'assurer que les implémentations de fonctionnalités livrées répondent aux besoins des clients.Damien est diplômé de l'Université de Nantes en génie logiciel. Il a passé plus de 23 ans dans son ancienne entreprise, d'abord en tant que développeur (découverte de 4D en 1997), puis en tant que responsable de l'ingénierie et architecte logiciel. Cette société est un partenaire OEM de 4D et a déployé des logiciels d'entreprise basés sur 4D pour des milliers d'utilisateurs, sur des centaines de serveurs. Damien est donc habitué au développement et au déploiement 4D dans un contexte multi-langues.