Développement

Les types nullables dans WINDEV : ce qu’il faut retenir

🧩 Les types nullables dans WINDEV : ce qu’il faut retenir

Depuis WINDEV 2024, il est possible d’activer dans les options de projet le support des types nullables. Une évolution attendue, qui modernise la gestion des données dans le WLangage.

âś… Pourquoi les types nullables ?

Historiquement, seuls les types complexes pouvaient ĂŞtre Null dans WINDEV.
Avec l’option « Autoriser les types nullables », les types simples (entier, chaîne, booléen…) peuvent désormais exprimer explicitement l’absence de valeur, ce qui rapproche WINDEV des standards actuels d’autres langages et des bases de données.

Exemple :
MonNombre est un entier?
MonTexte est une chaine?

Par défaut, une variable nullable non initialisée vaut Null, et non plus 0 ou "".

🎯 Les principaux apports

  • Test direct du Null :
    SI MonNombre = Null ALORS …
  • OpĂ©rateur ?. pour appeler une mĂ©thode ou une fonction si la variable n’est pas Null.
  • SĂ©rialisation intelligente : un champ Null n’est pas sĂ©rialisĂ©, et revient Ă  Null Ă  la dĂ©sĂ©rialisation.
  • Nouvelle fonction TypeEstNullable() pour dĂ©tecter si un type accepte le Null (utile pour les traitements gĂ©nĂ©riques).

⚠️ Points de vigilance

  • Une opĂ©ration portant sur un Null renvoie souvent… Null (arithmĂ©tique, concatĂ©nation, comparaison).
  • En HFSQL, vĂ©rifier que les rubriques acceptent rĂ©ellement le Null (selon index, clĂ©s, contraintes).
  • En API/JSON, documenter que champ absent = Null pour Ă©viter les incomprĂ©hensions.
  • Si vous migrez un ancien projet, attention aux conditions qui dĂ©pendaient de valeurs par dĂ©faut (0, "", etc.).

đź’ˇ Bonnes pratiques

  • DĂ©clarer nullable uniquement ce qui peut rĂ©ellement manquer (dates optionnelles, commentaires, valeurs calculĂ©es…).
  • Tester les Null avant tout calcul/affichage.
  • Ajouter des tests unitaires pour couvrir les cas « valeur absente ».
  • Documenter en interne une convention simple : quand utiliser Null vs une valeur par dĂ©faut ?

🚀 En résumé

Les types nullables apportent à WINDEV une vraie souplesse et un modèle de données plus propre.
Nous les avons déjà adoptés dans vos nouveaux projets.
Avec quelques bonnes pratiques, cela rend le code plus clair, plus robuste et plus proche des standards actuels du développement.