IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Quelles sont vos meilleures pratiques avec Qt ?
Partagez vos retours d'expérience à destination des débutants

Le , par deletme

21PARTAGES

5  0 
Bonjour à toutes et à tous,

Nouveau dans le monde de Qt (bien qu'ayant déjà développé des application à l'aide de ce "framework", je souhaiterais m'améliorer dans la conception dans mes futures applications (pour qu'elles restent maintenables et évolutives).
Aussi, avez-vous des best practices que vous suivez systématiquement ? Avez-vous ou connaissez-vous des projets dont le code source est accessible permettant d'apprendre un peu plus ?
J'ai quelques livres à ma disposition mais la plupart se cantonnent à une application par notion abordée et dès que l'on sort des sentiers battus on se demande si on fait bien. J'ai également parcouru quelques exemples fournis par Qt mais j'avoue rester sur ma faim.

Merci,

dM

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de onilink_
Membre émérite https://www.developpez.com
Le 16/10/2017 à 20:15
Je n'ai pas utilisé Qt depuis un moment, et je vais donc donner surtout mon avis sur les bonnes pratiques à appliquer en c++ en général qui ont beaucoup amélioré ma productivité.
- RAII avec les pointeurs intelligents, ne pas utiliser de pointeurs nus qui gèrent la durée de vie d'un objet
- La programmation défensive, en utilisant de nombreuses stratégies comme la programmation par contrat (disponible dans gsl: https://github.com/Microsoft/GSL )
- Éviter les globales et les singletons autant que possible, dans un petit projet on ne se rend pas compte du mal que c'est mais dans un gros projet ça cause rapidement de gros problèmes
- Toujours initialiser ses variables
- Utiliser le sanitizer de gcc (ou valgrind, mais c'est plus lourd) pour détecter de nombreuses erreurs comme les fuites de mémoire, les variables non initialisées utilisées, etc...
- Comprendre reinterpret_cast (et sa différence profonde avec static/dynamic_cast) avant de l'utiliser (mes débuts en C++ n'ont pas été glorieux a cause d'une utilisation stupide et intensive de reinterpret_cast).
- Avoir la notion "d'undefined behaviours", et être conscient qu'un programme qui compile et semble fonctionner, n'est pas forcement un programme fonctionnel.
- Vérifier le standard C++ quand on a un doute (encore une fois, ce n'est pas parce que ça "compile" et que ça semble marcher que c'est standard/légal/bon).

Côté Qt, j'ai perdu beaucoup (trop) de temps a ne pas utiliser le designer, et à instancier mes widgets manuellement en code.
Un conseil, apprendre a maîtriser Qt designer, c'est vraiment très efficace, puissant, et quand on le maîtrise il y a un réel gain de productivité.
0  0 
Avatar de bcag2
Membre actif https://www.developpez.com
Le 17/10/2017 à 16:37
hors sujet … quoi que!

Pour ma part, bien que partant de projets en C/C++, je réalise mes refactorings, pour la partie IHM en Qt, en python avec PyQt… et débutant également avec ce framework, j'ai apprécié les exemple suivant:
https://github.com/pyqt/examples

ce qui me permet d'utiliser aussi PyQtGraph

Je réalise le binding avec mon controleur C/C++ en utilisant Swig

Résultat: pas besoin de recompiler mon IHM après chaque modif… un code python utf-8 avec mes accents qui vont bien sans prise de tête… le C/C++ là où il est le plus efficace et python/Qt là où ils sont le plus efficaces… enfin au moins pour moi!
0  0 
Avatar de Pascaltech
Membre actif https://www.developpez.com
Le 27/10/2017 à 17:57
Bonjour,

Il y a des exemples sur www.searchcode.com faisant référence à Qt.
0  0