Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cours de C++ QT plus à jour?

    23 septembre 2015 à 16:52:37

    Bonjour, suivant le cours d'Openclassrooms en C++ je me lance dans la partie QT mais les commandes ne correpondent plus du tout. 

    Pour exemple la première ligne de code du cours est : 

    #include <QApplications>

    #include <QPushBoutton>

    Dans ma versions de QT c'est  : 

    #include <QCoreApplication> 

    #include <QPushBoutton>  // erreur a cette endroit.

    Je ne peux donc pas m'atteler à ce chapitre. :( 

    J'ai chercher dans le glossaire de QT mais il me donne la même donne la même manière d'appeler les fonction mais cella ne marche pas.

    Je précise que je suis dans le main conformément au cours et que j'ai bien enregistrer avant de compiler.

    Merci à toute personne qui liras/m'aideras.

    • Partager sur Facebook
    • Partager sur Twitter
      23 septembre 2015 à 17:04:02

      Lu'!

      yanniscoutouly a écrit:

      suivant le cours d'Openclassrooms en C++ je me lance dans la partie QT mais les commandes ne correpondent plus du tout.

      En fait, tu peux commencer par désapprendre toutes les âneries que tu as appris dans le cours de C++ de OC et réapprendre le C++ (le bon cette fois) avec ce tutoriel par exemple : cours de C++ de @gbdivers.

      • Partager sur Facebook
      • Partager sur Twitter

      Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

        23 septembre 2015 à 18:00:26

        Et puis "QPushBoutton" -> "QPushButton".

        • Partager sur Facebook
        • Partager sur Twitter
        Développeur d'Actiona, logiciel d'automatisation de tâches : actiona.tools - Site Web : jmgr.net
          23 septembre 2015 à 18:31:11

          Tu as créé un projet sans interface graphique. Du coup, ton fichier .pro n'inclue pas la bibliothèque graphique et il ne connait donc pas QPushButton. QCoreApplication est la classe d'une application non graphique. QApplication est la classe d'une application graphique.
          • Partager sur Facebook
          • Partager sur Twitter
            23 septembre 2015 à 21:41:14

            Je vous remercie de votre aide Ksass Peuk je vais donc me mettre sur le site de cours que tu m'as passer. Oui petite erreurs en tapant vraiment désoler. Et j'ai compris ce que tu m'a dit je vais donc essayer de créer un projet avec interface graphique.

            Merci à tous !!!

            • Partager sur Facebook
            • Partager sur Twitter
              23 septembre 2015 à 21:45:03

              Petite note, le cours étant en cours d'écriture, tu peux donner un feedback des choses qui paraissent incompréhensibles (si ce n'est pas dû à une insuffisance dans ton étude du cours) sur ce fil de discussion.

              • Partager sur Facebook
              • Partager sur Twitter

              Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

                27 avril 2016 à 10:24:16

                Ksass`peuk
                y'a un truc que je ne pige pas, hier déjà tu m'as sorti la même chose. Pourquoi à la fois te laisse t'on dire que ce sont des âneries, OC donc pour openclassroom (j'ai percuté que là) moi je pensais que c'était Mathéo vu que c'est en partie son cours. Et pourquoi à la fois ne le retires t'on pas si finalement en effet il y a des erreurs... 

                Y'a une logique que je ne suis pas trop.

                Pour ma part jai en effet le même problème au niveau du compilateur, Qt a détecté de suite minigw, mais il semble s'en moquer royalement.
                Je vais quand même lire ton lien, toute info est bonne.

                Mais comprends bien que ne suivant pas les forums habituellement (que les cours), je débarque, et j'aimerai bien comprendre du coup.

                edit: sauf erreur sur ce lien on ne parle pas de Qt

                -
                Edité par Daerlnaxe 27 avril 2016 à 10:25:24

                • Partager sur Facebook
                • Partager sur Twitter
                  27 avril 2016 à 10:41:18

                  Lu'!

                  Daerlnaxe a écrit:

                  Pourquoi à la fois te laisse t'on dire que ce sont des âneries

                  Parce que la modération de ses forums et les administrateurs ont le bon sens de considérer que la censure n'est ni une solution, ni une bonne idée (et ce n'est pas le cas de tous les forums), et parce que ce n'est pas un troll jeté en l'air pour basher. Si je précise - maintenant - dans le message que je poste régulièrement que des recherches sur le forum donneront toutes les informations associées et plus encore, ce n'est pas pour rien. Les arguments ont vraiment été donnés maintes fois et il n'est pas difficile de les trouver sur le forum.

                  Daerlnaxe a écrit:

                  OC donc pour openclassroom (j'ai percuté que là) moi je pensais que c'était Mathéo vu que c'est en partie son cours.

                  Le fait d'avoir fondé OC fait-il de Mathéo un bon développeur C++, notamment au fait ce qu'est le langage C++ aujourd'hui ? Non. Je ne connais pas exactement quelles sont aujourd'hui les compétences de Mathéo en C++, mais je connais les miennes, je connais celle des intervenants qui l'utilisent professionnellement et qui passent très régulièrement sur le forum, et pour lire - beaucoup - d'articles à propos de C et C++ édités par des gens très compétents, je pense avoir le recul nécessaire pour donner cet avis.

                  Daerlnaxe a écrit:

                  Et pourquoi à la fois ne le retires t'on pas si finalement en effet il y a des erreurs...

                  T'as déjà essayé de vendre un livre et une certification (du coup bidon pour celle là malheureusement) dont la version en ligne a été supprimée parce qu'il est inadapté et faux par endroit ?

                  Daerlnaxe a écrit:

                  edit: sauf erreur sur ce lien on ne parle pas de Qt

                  Non effectivement, mais sans être un développeur C++ avec de solides bases, se lancer dans Qt c'est du suicide pur et simple. Et le cours OC ne donne pas 5% des connaissances dont on a besoin pour bien utiliser Qt. A moins de vouloir rester un bricoleur qui construit du logiciel branlant, bien entendu, mais auquel cas, pourquoi avoir choisi un langage aussi vaste que C++ plutôt qu'un langage plus facile d'accès où il est bien moins facile de se tirer une balle dans la jambe ?

                  -
                  Edité par Ksass`Peuk 27 avril 2016 à 11:22:49

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

                    27 avril 2016 à 11:20:01

                    Daerlnaxe a écrit:


                    Edité par Daerlnaxe il y a environ 1 heure

                    Normal, c'est un cours de C++, il n'y a pas de Qt dedans.

                    Cf http://guillaume.belz.free.fr/doku.php?id=install_qt pour les explications sur l'install et creer une application de test avec Qt. Lire en particulier la partie sur la configuration des kits.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 avril 2016 à 14:18:37

                      Ksass`peuk

                      concernant le fait d'avoir un site qui ferait un bon développeur, nous serons forcément d'accord que non, maintenant ce qu'il fait est accessible pour les gens qui n'ont pas un cours derrière qui se forment sur le tas. J'ai commencé à vouloir développer en c++ en 1998 et comme tu vois finalement je m'y mets là réellement, en même temps à part vouloir créer un jeu vidéo je 'avais pas de projet. Entre temps du coup je me suis lancé et formé sur le tas sur d'autres langages. En plus ça n'était pas mon cursus, le mien est en électrotechnique et a part programmer des automats ou en hexa des API, faire de la logique binaire pour l'électronique de base (tableaux de karnaugh ets etc , ça va pas plus loin... et bon m^me dans ce domaine les choses ont évoluées mais nos cours n'ont pas anticipé la programmation en C. Quant à la fac ils obligent au pascal en licence, car forcément qui dit fac dit recherche à la base alors que non pas forcé. Pour en venir là ou je voulais en venir c'est que les tutos accessibles ne courent pas les rues, j'ai envoyé des messages à Mathéo pour signaler en tant que noob, là ou selon moi ce serait judicieux d'ajouter des explications. Par exemple sur les surcharges de pointeur car on se perd à un moment pour savoir ce qui atterri dans le header et le cpp. 

                      Maintenant il est très probable que tes connaissances dépassent celles de MAthéo, je ne remets pas du tout en question. Là question c'est que transmettre c'est encore autre chose. De mémoire je me souviens en gros de ta réponse hier et je comprends que mes questions soient chiantes, mais un (en gros) t'apprends comme ça et c'est marre, non ça passe pas... Ca m'a même collé en échec scolaire au collège. Inversement quand j'arrive à comprendre le mécanisme de quelque chose c'est acquis pour la vie.  

                      A l'arrivée je n'ai pas du tout compris si en gros tu démarchais pour toi même, si tu trollais, si t'étais de bonne foi. J'ai conscience que tu dois te répéter, je peux même comprendre ta démarche vu que si un truc me saoule je vais pas prendre des gants. D'ou mes questions car je voulais savoir. D'autant qu'un truc qui m'angoisse c'est la perte de temps, ça tombe bien car j'ai des questions sur le sujet... Il y atrès longtemps peut ^tre pas en 98, je sais pas si visual studio était sorti mais par laà en tout cas j'avais eu une version de vicual studio et du coup j'avais fait des petits programmes... une horloge, des trucs de base. Et quand là j'ai lu dans le tuto pour QT ca m'a chiffoné car je me suis dit c'est cool mais après, si on me simplifie trop est ce que je vais réussir, comment on faisait avant ? est ce que je ne vais pas trouver des limitations ou autre à force de me contenter d'avoir des trucs simplifiés. C'est un peu pour moi comme prendre des sources à droite et à gauche et les coller à la suite sans trop savoir ce qu'elles font... Alors que j'ai très probablement tort.

                      J'ai été par intermittence sur codes-source,  développez.com (je participe pas aux forums en général j'essaie de piger par moi même... là j'avais vraiment envie de mettre un coup de rein pour comprendre les polymorphismes et compagnie, quand aux classes surchargées je l'ai vu en java mais ça m'apparaissait moins chiants il me semble... et le bouquin que j'ai n'imposait pas autant de règles, ou bien c'est le java... mais c'est probablement mieux ces règles. tout ça n'ayant pas de cours en enseignement supérieur je ne le connais pas et souvent les bouquins font l'impasse dessus alors que pour un prof, c'st la base à transmettre je pense. Au final j'ai toujours obtenu ce que je voulais mais en trifouillant et je voulais pouvoir pondre en gros un code dès le départ en sachant pourquoi j'allais mettre un pointeur là, pourquoi j'allais éventuellement mettre une variable globale etc etc... Je dis pas que tout était en global  mais voilà les trois quarts du temps je passais mes variables... bon en même temps mon code lourd était toujours géré par des fonctions, même pour les interfaces de manière à ne faire qu'appeler et placer à un endroit clé.. mais les return si ça me convenait pas ben quand possible ou par global (je me souviens plus si on peut renvoyer un tableau en java ) je me faisait pas trop chier j'abusais déjà des tableaux, et si je ne pouvais pas le renvoyer je me débrouiller pour coller un accès facile sans trop chercher plus loin. 
                      Là ce cours par tatonnement car j'en ai bavé, m'a permis d'un coup de réellement comprendre l'adressage en mémoire, j'en voyais limite pas l'intérêt ou ça me paraissait trop  pointu alors qu'en fait en une journée grand max (en comptant le tp), ca se plie.

                      Pour revenir sur mon code je me souviens que tu me disais que c'était avec *= dans la classe mais je me doute que tu n'avais pas lu, je ne voulais pas exprès l'employer... faire autrement pour m'obliger à passer par autre chose pour me pousser à la comprehension à rencontrer des problèmes etc etc... parceque je savais qu'un seul regard sur la correction ou une aide, même un bout de code source et c'était fini.

                      Pour ce qui est du langage facile d'accès ... java m'a gonflé. A moins d'utiliser (et tu me diras c'est pareil ici au final) du code développé par d'autres, le "kit" de base avec ses layout m'a tapé sur le systeme. Que ce soit online avec php + flash ou php +javascript j'ai toujours aimé faire du dynamique, java est très bien adapté à cela, sauf que tu pètes vite les plombs avec les ancres etc etc. Or en gros je génère toujours des pages par des blocs, qui contiennent tout. Et je me retrouvais avec des surprises très souvent... a un moment donné régler au poil de c... les ancres etc etc me tapait plus sur le systeme qu'autre chose. D'ailleurs quand j'ai résoulu tous mes emmerdes j'ai trouvé sur le net des retours qui expliquaient que le layout que j'utilisais je crois que c'était le grid, était le plus chiant et qu'on trouvé un layout développé par un tiers qui était plus sympa... là encore c'était plus mon travail mais celui d'un autre au final et ca m'emmerdait.

                      Je ne suis pas pro, je me fais ma programmation sur certains trucs parceque ca me plait, c'est un hobby.. j'ai envie d'avoir une vraie maitrise, je n'ai pas de contrainte de temps, je n'ai pas de rendement donc ca me gène pas de me prendre la tête sur certains trucs qui seraient automatisés avec des librairies tierces (bon je ne dis pas tout non plus, une bonne librairie pour les calculs je ne vais pas faire l'impasse, et si je suis amené à programmer en 3d un jour, pour m'amuser, je vais passer par direct 3d ou open gl, par contre je préfère avoir un truc moche à moi qu'un truc fait par un moteur, si possible je veux pouvoir comprendre et gérer les collisions (bonc 'est fait en 2d) Enfin bref je ne sais pas si tu vois ma logique. Cet apprentissage c'est juste pour le plaisir.  De toute facon avec mon age ,je ne vais pas demain me lancer là dedans, par contre dans mes jobs ca m'est arrivé  par hasard d'avoir des connaissances en plus et que du coup on me propose d'exploiter ces connaissances (peu en programmation) jai juste fait des interfaces access pour de petites boites. Mais ca fait plaisir.

                      Le pendant c'est que c'est pas un truc ou j'aurais un code laché tel quel, avec de minces explications que je vais comprendre grand chose. J'étais là mais en non inscrit sur le site du zéro et j'apprécie le contexte, c'est sur que pour des pros c'est peut ^tre insultant, mais c'est destiné à un public qui part de 0. Après les certifications, là c'est autre chose et je pourrais avoir bouclé un tutoriel ici (enfin j'en ai bouclé plusieurs) je m'estime pas pour autant capable derrière... C'est pas en 50h qu'on vaut quelque chose en programmation je pense, mais ça dégrossit bien.


                      Bref merci pour cette clarification.  

                      ps: j'oubliais en fait le vrai problème c'est que tu balances en disant âneries, donc rien ne serait bon dans cet apprentissage, et le cours que tu proposes mais j'aurais du plus fouiller le site, je vais y retourner est inachevé.  Après je suis d'accord bien sur que derrière il y a aussi les histoires de référencement et d'esthétiques, qui font qu'un site moins pertinent peut attirer lpus de monde et avoir meilleure cote qu'un autre plus pointu. 

                      ps2: pour QT c'est peut être aussi de la façon dont c'est vendu, ma mémoire est trop mauvaise pour me souvenir de ce que faisait précisemment visual c++ mais il était certain que lorsqu'on voulait afficher une fenêtre o avait un code qui s'inscrivait tout de suite, ce qui en gros est peut être la même chose au final que de se servir d'une librairy tierce.  

                      -
                      Edité par Daerlnaxe 27 avril 2016 à 14:23:01

                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 avril 2016 à 15:07:06

                        Daerlnaxe a écrit:

                        Pour en venir là ou je voulais en venir c'est que les tutos accessibles ne courent pas les rues, j'ai envoyé des messages à Mathéo pour signaler en tant que noob, là ou selon moi ce serait judicieux d'ajouter des explications. Par exemple sur les surcharges de pointeur car on se perd à un moment pour savoir ce qui atterri dans le header et le cpp.

                        Tu viens justement de poser pile poil le doigt sur le problème fondamental de ce tutoriel. Les pointeurs et la gestion manuelle des ressources en C++ ne sont pas et ne seront jamais des notions accessibles à un débutant, et plus important encore ce ne sont pas des notions nécessaires pour débutant. Du tout. Et pourtant, le cours l'introduit extrêmement rapidement et avec tellement de raccourcis que les exemples du cours ... contiennent des bugs ! Et ce ne sont pas des bugs triviaux à corriger. D'où le fait que ça n'a rien à faire dans un cours qui s'adresse à des gens qui débutent.

                        Daerlnaxe a écrit:

                        (1) De mémoire je me souviens en gros de ta réponse hier et je comprends que mes questions soient chiantes, mais un (en gros) t'apprends comme ça et c'est marre, non ça passe pas... 

                        [...]

                        (2) Pour revenir sur mon code je me souviens que tu me disais que c'était avec *= dans la classe mais je me doute que tu n'avais pas lu, je ne voulais pas exprès l'employer... faire autrement pour m'obliger à passer par autre chose pour me pousser à la comprehension à rencontrer des problèmes

                        (1) Non, je n'ai pas dit "t'apprends comme ça et c'est marre". J'ai dit pour la surcharge, on a besoin de deux surcharges : operator* en libre et operator*= en membre et c'est marre (en fait de ce côté c'est l'horreur parce que sur ce point C++ est très mal foutu). Parce que c'est comme ça : on a juste besoin de ces deux là, parce qu'ils nous suffisent.

                        (2) Justement, aller chercher les solutions qu'on ne veut surtout pas employer, cela ne t'apprend pas à bien développer. Cela t'apprend à aller chercher des workarounds tordus pour faire un boulot qu'on n'aurait pas à faire en employant une solution correcte. Cela apprend finalement à employer des hack (et pas au sens noble du terme) douteux pour arriver à bout d'un problème dont la solution est simplement de ne pas faire ça, parce que ça n'a pas de sens.

                        Daerlnaxe a écrit:

                        D'autant qu'un truc qui m'angoisse c'est la perte de temps, ça tombe bien car j'ai des questions sur le sujet... Il y a très longtemps peut ^tre pas en 98, je sais pas si visual studio était sorti mais par laà en tout cas j'avais eu une version de vicual studio et du coup j'avais fait des petits programmes... une horloge, des trucs de base. Et quand là j'ai lu dans le tuto pour QT ca m'a chiffoné car je me suis dit c'est cool mais après, si on me simplifie trop est ce que je vais réussir, comment on faisait avant ? est ce que je ne vais pas trouver des limitations ou autre à force de me contenter d'avoir des trucs simplifiés.

                        Hum ... Là c'est une autre question. Comment on faisait avant ? On s'emmerdait pas mal à refaire des choses qui existaient déjà, ce qui était une vrai perte de temps. Avec le temps, on a finit par construire progressivement des bases et des manières de faire relativement communes mais ça a demandé pas mal d'itérations de réflexion. Est ce que ces éléments simplifiés vont te limiter ? Non en fait cela aura progressivement l'effet inverse. Parce que de fait, on a rarement besoin de quelque chose qui n'existe pas encore. Et utiliser souvent des choses qui existent déjà, et qui sont le fruit de longues années de travail, ça permet de s'imprégner de la manière de faire associée. Et le jour ou finalement on a besoin de quelque chose de neuf, ça nous permettra de mieux le concevoir dès les premières itérations.

                        Daerlnaxe a écrit:

                        Je ne suis pas pro, je me fais ma programmation sur certains trucs parceque ca me plait, c'est un hobby.. (1) j'ai envie d'avoir une vraie maitrise, je n'ai pas de contrainte de temps, (2) je n'ai pas de rendement donc ca me gène pas de me prendre la tête sur certains trucs qui seraient automatisés avec des librairies tierces (bon je ne dis pas tout non plus, une bonne librairie pour les calculs je ne vais pas faire l'impasse, et (3) si je suis amené à programmer en 3d un jour, pour m'amuser, je vais passer par direct 3d ou open gl, par contre je préfère avoir un truc moche à moi qu'un truc fait par un moteur, si possible je veux pouvoir comprendre et gérer les collisions (bonc 'est fait en 2d) Enfin bref je ne sais pas si tu vois ma logique.

                        (1) Alors prend ton apprentissage dans le bon ordre. Pour ne pas perdre de temps avec des éléments handicapant pour débuter (mais triviaux à assimiler quand on a les bonnes notions pré-requises).

                        (2) Je ne parle pas d'écrire vite du code, je parle d'écrire du code correct.

                        (3) Choisis en fonction de l'objectif. La question n'est pas de savoir si tu veux utiliser OGL ou pas. La question c'est de savoir si tu veux faire un jeu, ou si tu veux faire un moteur. Si tu veux faire un jeu, utilise un moteur existant, parce que ça reste un projet à part entière. Et si tu veux développer un moteur, développe un moteur, mais oublie l'idée de faire un jeu avec pour le moment. Faire les deux à la fois n'aura qu'un seul effet : dissiper ta concentration et ta réflexion. Cela rendra ton travail plus complexe que nécessaire, et ta conception moins bien pensée parce que tu penseras aux deux problèmes à la fois.

                        Daerlnaxe a écrit:

                        Le pendant c'est que c'est pas un truc ou j'aurais un code laché tel quel, avec de minces explications que je vais comprendre grand chose. J'étais là mais en non inscrit sur le site du zéro et j'apprécie le contexte, c'est sur que pour des pros c'est peut ^tre insultant, mais c'est destiné à un public qui part de 0.

                        Je n'ai pas de problème avec les cours qui partent de 0 pour un public non-initié. J'ai un problème avec les cours qui ne simplifient pas les bons points et les bonnes notions et qui du coup apprennent aux étudiants à écrire du code qui est incorrect, et plus difficile que nécessaire pour leur niveau qui plus est.

                        Daerlnaxe a écrit:

                        ps: j'oubliais en fait le vrai problème c'est que tu balances en disant âneries, (1) donc rien ne serait bon dans cet apprentissage, et le cours que tu proposes mais j'aurais du plus fouiller le site, je vais y retourner (2) est inachevé.  Après je suis d'accord bien sur que derrière il y a aussi les histoires de référencement et d'esthétiques, qui font qu'un site moins pertinent peut attirer lpus de monde et avoir meilleure cote qu'un autre (2') plus pointu. 

                        (1) Malheureusement, c'est pas si loin d'être ça. Dans ce que tu apprends, il n'y a pas grand chose de correct, et beaucoup de choses incorrectes doivent être désapprise pour pouvoir avancer par la suite. Et désapprendre, c'est dur.

                        (2) Peut être plus pointu et inachevé. Mais correct et c'est ça qui est important.

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

                          27 avril 2016 à 15:22:33

                          Trop de choses a lire, je n'ai pas le courage.

                          @Daerlnaxe: je comprends l'idee de vouloir apprendre que la partie du C++ qui te sera necessaire en tant qu'amateur. Le probleme, c'est que les questions dans les precedentes discussions montrent des lacunes importantes sur des notions fondamentale, comme les variables, les types, les arguments de fonction. Au final, une grande partie de ce que tu as appris doit etre oublie, et il faut toujours reprendre a 0. D'ou les message de Ksass`Peuk sur changer de cours.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            30 décembre 2017 à 13:28:34

                            Franchement je suis d'accords à dire que le cours de Mathéo en c++ c'est des âneries ... je ne dis pas que tout est mauvais, mais il est à éviter ! il explique très bien en soit, cependant expliquer des choses inutile ou compliqué. Je m'aide du java pour codé en C++ et ça marche oO ? j'me suis dis que je continuerais dans ma lancé. Pourquoi faire 35000 fichier de prototype alors qu'on peut laisser la classe tel quels ? Pour ma part je trouve cela encore moins lisible et plus compliqué. Il y a encore beaucoup d'autre problème sur son cours et surtout sa mise à jour. Les logiciel améliore , ce n'est pas le problème d'openclassrooms certe mais le cours devient vieux et commence à s’effondré.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              30 décembre 2017 à 18:11:56

                              A propos de Pascal, le fait qu'il soit inclus dans certains cursus universitaires n'est absolument pas pour des raisons de recherche. Pascal a dés le départ été conçu dans l'optique de l'apprentissage de la programmation, il est très structuré, très rigoureux, le code est très proche de ce qu'on produit en algorithmique. C'est un langage parfaitement adapté aux débutants. 

                              Le fait de séparer le code en unité de compilation les plus compactes possibles, permet de structurer les programmes. Cela n'a pas beaucoup d'importance sur des petits programmes, par contre ça devient absolument essentiel dès qu'on commence à travailler sur des programmes un peu gros. Lorsqu'un programme grossit, il aborde de plus en plus de thématiques fonctionnelles, GUI, réseau, base de données, calculs, gestion de fichier, de données de ressources divers, un bon découpage permet à terme, de structurer ces thèmes pour les isoler les uns des autres et ainsi réduire le couplage. Plus le couplage est fort plus la maintenance du programme est complexe, parce que la moindre petite correction dans un coin risque d'avoir un impact sur tous les modules couplés, plus le couplage est fort, plus la modification est risquée (apparition potentielle de bugs) et complexe. L'autre intérêt de découper finement est la factorisation et la ré utilisabilité:

                              • La factorisation: éviter d'avoir deux "sous-programmes" qui font la même chose, dans les gros programmes, lorsqu'ils sont mal structurés, on trouve souvent deux ou plus fonctions qui font la même chose. En plus de faire grossir le programme inutilement, c'est une source de bug: imaginons qu'une fonction soit buggée, je corrige pour tout le code qui utilise le premier exemplaire, mais pas pour ce qui utilise les autres, donc je risque de produire une correction partielle.
                              • La ré utilisabilité: Si mon programme est bien découpé, j'ai de bonnes chances de pouvoir réutiliser une partie de son code dans d'autres programmes, sans être obligé de rapatrier quasiment tout le code de mon programme dans les autres programmes. Par ce biais, je vais gagner un temps considérable, car si j'intègre directement (sans modification) du code venant d'un autre programme, je n'ai pas à le refaire et bonus, vu qu'il vient d'un autre programme réputé correct, le risque d'erreur s'en trouve réduit. Sur bonus, un bon découpage peut permettre d'organiser des bibliothèques, là c'est encore mieux le code est mis en commun entre tous les programmes qui l'utilisent, de sorte que si un bug est corrigé pour un programme, il l'est pour tous.

                              -
                              Edité par int21h 30 décembre 2017 à 18:16:07

                              • Partager sur Facebook
                              • Partager sur Twitter
                              Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug
                                31 décembre 2017 à 10:20:26

                                int21h t'as réponse est intéressante mais je ne vois pas le rapport ^^mais si j'ai bien. compris c'est un peu le principe de la POO de découper :e nan ? ^^
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  31 décembre 2017 à 11:55:36

                                  NathanDacunha a écrit:

                                  int21h t'as réponse est intéressante mais je ne vois pas le rapport ^^mais si j'ai bien. compris c'est un peu le principe de la POO de découper :e nan ? ^^

                                  Non, pas du tout
                                  Le découpage à pour but de faciliter la maintenance et les évolutions. Ca se fait quelque soit le langage (objet ou non).

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Cours de C++ QT plus à jour?

                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                  • Editeur
                                  • Markdown