analyse statique pour Qt, Clazy, est arrivé en version 1.5. Celle-ci détecte trois nouveaux cas potentiellement problématiques. Tout d'abord, les types Qt Quick enregistrés avec
qmlRegisterType ou qmlRegisterUncreatableType qui ne commencent pas par une capitale sont signalés — puisqu'ils ne sont pas utilisables avec le moteur QML.
Dans les gardes d'inclusion et autres constructions mêlant #ifndef et #define, une typo est vite arrivée. Clazy détecte maintenant quand les noms indiqués ne correspondent pas, mais uniquement s'ils sont assez proches. Malgré cette précaution, ce test peut générer un grand nombre de faux positifs et est donc désactivé par défaut (ce qui n'est pas forcément une bonne idée, puisqu'il a permis de trouver un défaut dans le code source de Qt).
La troisième détection concerne le marqueur [[nodiscard]], apporté par C++17. Il sert à indiquer que le résultat de l'appel d'une fonction ne devrait pas être ignoré. Pour la compatibilité entre compilateurs, Qt définit la constante Q_REQUIRED_RESULT. Clazy utilise comme critères le caractère constant des fonctions, notamment celles qui retournent un type de la classe dans laquelle ces méthodes sont définies.
Source : Clazy 1.5 released.
Sortie de Clazy 1.5
L'outil d'analyse statique pour Qt, avec des fonctionnalités de modernisation du code
Sortie de Clazy 1.5
L'outil d'analyse statique pour Qt, avec des fonctionnalités de modernisation du code
Le , par dourouc05
Une erreur dans cette actualité ? Signalez-nous-la !