Developpez.com - Rubrique Qt

Le Club des Développeurs et IT Pro

Qt 5.4 viendra avec un outil de vérification syntaxique

Pour les fichiers QML et JavaScript, afin de détecter automatiquement des erreurs

Le 2014-10-29 21:36:54, par dourouc05, Responsable Qt & Livres
En QML, une erreur des plus fréquentes concerne la syntaxe des fichiers QML et JavaScript — y compris dans des applications en production, principalement pour des composants chargés de manière asynchrone. La plupart de ces erreurs ne sont que des typos, mais elles restent fort ennuyantes et facilement évitables.

Pour éviter ce genre d’erreurs, Qt 5.4 proposera un outil en ligne de commande pour vérifier la syntaxe des fichiers QML. Il est prévu notamment pour s’intégrer facilement aux outils d’intégration continue, tout comme xmllint et json_verify sont utilisés pour les fichiers XML et JSON, respectivement :

$ qmllint ClickableImage.qml
ClickableImage.qml:17 : Expected token `numeric literal'

$ find -type f -name \*qml -exec qmllint \{\} +
./qml/SettingsPage.qml:35: Unexpected token `if'
./qml/AboutPage.qml:35: Expected a qualified name id
Cet outil ne fait que de la vérification syntaxique, pas sémantique : en cas d’erreur dans un nom de variable, par exemple, l’outil sera incapable de le détecter. La vérification de ce genre d’erreur est bien plus difficile, car la sémantique dépend également du contexte de l’application en cours d’exécution.

Bar.qml:1 TypeFoo is not a type
Bar.qml:2 module "QtQuickControls" is not installed
Bar.qml:6:9: QML Rectangle: Cannot anchor to an item that isn't a parent or sibling.
Source : KDAB contributions to Qt 5.4: qmllint

Billet d'origine.
  Discussion forum
1 commentaire
  • zeecrowddev
    Membre du Club
    C'est déjà un bon début ...

    A noter que QtCreator fait aussi une vérification syntaxique en les signalant dans son Ihm

    Il est vrai que c'est souvent rageant de découvrir les bugs de syntaxe à l’exécution ....