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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Les bonnes pratiques de programmation


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 92
    Par défaut Les bonnes pratiques de programmation
    Bonjour,

    Je programme en C++ (sous Qt6).
    J'arrive à faire à peu prêt tout veux mais je le fais mal. Je pense que je programme vraiment pas bien.

    Voici un exemple de projet, mais j'ai toujours ce même type de problèmes :

    Nom : Planning2.jpg
Affichages : 222
Taille : 650,4 Ko

    J'ai une fenêtre conteneur dans laquelle :
    - un Widget principal (constitué de pleins de boutons) est au centre de l'écran
    - 4 autres Widgets secondaires placés autour.
    - ils sont tous sensés communiquer les uns avec les autres (et c'est là mon soucis)

    Chacun ayant sa propre Class.

    Je bidouille toujours pour ce même problème... à savoir, comment faire pour qu'une classe agisse sur les éléments d'une autre classe.
    Pour l'instant quand j'ai des variables ou autre structure quelconque appartenant à une class, je ne la déclare pas dans la classe elle-même, je les déclare au plus haut des parents c'est à dire dans MainWindow pour que chaque classe puisse y accéder.

    Vous voyez, quand je déclare dans cet ordre, le Widget_principal, puis le Widget_Gauche, puis Widget_Droit, à la rigueur je peux passer des références appartenant au Widget_Gauche au moment de la déclaration du Widget_Droit parce que le Gauche existe déjà. Mais le contraire je ne peux pas, car au moment de la création du Widget_Gauche je ne peux pas lui donner des références appartenant au Widget_Droit puisque celui-ci n'existe pas encore.



    J'aimerais bien apprendre les bonnes pratiques, pour l'instant ça fonctionne mais je fais ça n'importe comment.
    Auriez-vous des tutos, des livres, ou de bons conseils pour pratiquer ?
    Merci
    Images attachées Images attachées  

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 468
    Par défaut
    Il faut mettre en place un Design Pattern d'architecture comme MVC, Document/vue, etc...
    Essayez de voir celui qui est le plus "naturel" avec Qt6.

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    404
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 404
    Par défaut
    Qt propose ce pattern https://doc.qt.io/qt-6/model-view-programming.html. C'est effectivement une bonne idée (a priori) dans ce cas.

Discussions similaires

  1. Cours pour apprendre les bonnes pratiques de programmation en PHP
    Par Community Management dans le forum Langage
    Réponses: 8
    Dernier message: 08/01/2018, 17h26
  2. Les bonnes pratiques pour programmer en PHP
    Par Mingolito dans le forum Humour Informatique
    Réponses: 0
    Dernier message: 26/12/2016, 16h25
  3. Ouvrage sur les bonnes pratiques de programmation en Java?
    Par Invité dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 11/07/2011, 11h05
  4. Réponses: 5
    Dernier message: 30/09/2010, 16h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo