Comment procédez-vous pour concevoir des programmes ?

​​​​​​​Bonjour,

J'apprends le code depuis presque un an maintenant, je suis passé par une phase d'apprentissage de la syntaxe puis les fondamentaux et les éléments de base de la programmation (fonctions, boucles, if/else etc) et maintenant j'en suis au point où j'en suis. essayer de comprendre comment assembler toutes les pièces pour programmer un jeu Tic Tac Toe. Je me demandais donc comment les gens concevaient des programmes, quel est le processus de réflexion ou les techniques que vous utilisez ? Est-ce que cela vaut la peine de passer du temps à le tracer sur une feuille de papier ? Je fais référence à l’architecture logicielle à une échelle bien plus petite. Des conseils ou astuces seraient formidables. Je ne suis même pas sûr que ce soit le bon sous-sujet pour poster ceci.

5 réponses

  1. On commence par faire un bout qui fonctionne.

    Puis d'autres bouts qui fonctionnent

    On connecte les bouts entre eux et on s'assure que ça fonctionne toujours

    On donne des noms explicites aux variables (ce que je ne fais pas, car c'est sujet aux fautes de frappe, je fais du semi-explicite)

    0
    1. Pour moi, oui

      J'ai codé en Basic en C, en C++, en TCL, en Grip (un langage dédié à un

      système de CFAO), en Python

      Ne pas se lancer à "pondre tout un code de A à Z", mais étudier d'abord le

      problème sur papier, découper le code, en fonctions, etc ...

      Tester petit à petit

      1
      1. Bonjour et question

        Code t-on avec la même "philosophie" en Basic, en Python, en Pascal, en Windev, en Matlab ?

        0
        1. Contributeur

          "Philosophie" n'a aucun sens dans ce contexte.

          Dirais-tu qu'on pilote un avion et un bateau avec la même philosophie?

          1
        2. @yg_be

          "Technique" étant trop concret, je te laisse le soin de remplacer "philosophie"par le mot adéquat.

          La critique est aisée, c'est l'art qui est difficile

          -1
        3. Contributeur
          @mariam-j

          Que veux-tu savoir, pourquoi poses-tu la question?

          0
      2. Bonjour,

        Il y a un certain temps, j'avais programmé, non pas un Tic Tac Toe,

        mais un jeu de Taquin sur une grille de 3x3 cases pour commencer

        Je voulais que l'utilisateur mélange les chiffres et qu'ensuite, le programme

        remette tout dans le bon ordre automatiquement, en respectant les 

        déplacements possibles évidemment, donc un genre d'IA

        J'avais un vieux livre sur l'IA paru aux éditions "Que sais-je ?" qui parlait

        de plusieurs techniques pour développer un arbre de résolution

        J'ai retenu celle appelée "distance Manhattan", qui est donc le nombre de

        déplacements entre la position courante d'un chiffre et sa position finale

        J'ai donc déjà étudié le principe avec un papier et un crayon sur différents cas,

        puis réfléchi à la façon de coder tout ça en traçant un organigramme

        Et enfin, j'ai commencé à coder, non pas tout le programme d'un coup,

        mais en testant des petites fonctions une par une

        Ca un donné un code Python de 200 lignes:

        0
        1. Contributeur

          bonjour,

          Moi, je commence souvent par réfléchir aux données.  Quelles sont les données dont le programme aura besoin, et comment les organiser?

          Ensuite, quelles sont les activités principales que doit faire le programme, dans quel ordre, et quelles sont les interactions avec l'extérieur.

          Commencer avec des idées générales, puis, petit à petit, rentrer dans les détails.  Ne pas aller trop dans les détails d'une partie avant d'avoir une idée globale de l'ensemble.

          Souvent, quand on rentre dans les détails, cela remet en question des choix faits avant: avec l'expérience, on finit par anticiper, par prendre les bonnes décisions globales qui ne seront pas remises en question ensuite.

          Cela vaut certainement la peine de mettre ses réflexions par écrit, que ce soit sur une feuille de papier, au tableau, dans un fichier, ou même sous forme de commentaire.  Et il est souvent utile de pouvoir, plus tard, retrouver ces réflexions.

          0