Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Recapitulatif] Comment bien programmer ...

Pour tous les langages ...

    26 mars 2006 à 13:20:09

    MàJ 1 (26-03-06) => L'indentation + comparaison de deux code (en python).

    ---------------------------------------------------------------------
    Salut,

    Voilà, je viens d'aider un ami en PHP, et debugger un script python d'un gas qui débute, et ça m'amene à faire ce poste.

    C'est une proposition, j'aimerai qu'ici les programmeurs explique et détaille les bonnes habitudes à prendre en programmation et ce pour n'importe quel langage.
    Ainsi ses habitudes partagés pourront aidé d'autre devellopeur qui eux en connaisse peut être d'autre ect.
    bref, un partage de connaissance


    Pour ma pars:

    La lecture du code



    Les commentaires:



    Pour reprendre un peux les cours ^^

    Citation

    Si après avoir lu uniquement les commentaires d'un programme vous n'en comprenez pas le fonctionnement, jetez le tout !


    Il y a rien de plus vrai, je vais pas refaire cette partie du cours de mateo

    Il y a rien de plus vrai, les commentaires sont super important en programmation, ils nous permettent de pouvoir relire notre code et de s'y retrouvé à l'interieur et se très facillement.
    de plus, ça prend pas beaucoup de place et les commentaires vous font même gagner du temps :) (à court terme).

    Le nom des variables:


    Exactement la même chose que les commentaires, avouez que vous aurez plus facile de relire (ou faire lire) votre code avec une variable dateDeNaissance_visiteur plutot que naiss_visit ou date_visit ...

    L'indentation:


    L'indentation est le fait de précéder chaque ligne de code d'un certain nombre d'espace.
    Cela permet quand on les utilises intelligement (l'indentation de bloc d'instruction suivant une condition, une boucle ect) de visualisé bien mieu le code.
    Dans certains langage (comme le python pour ne pas le cité) l'indentation est obligatoire

    Concluons:


    La lecture du code est importante, pour le maintient et debugage du code, par vous on un autre.
    De plus, si vous poster sur un forum votre code avec votre probleme sans commentaire ni nom de variable compréhensif, il y aura souvent un post en plus pour vousn poser la question "c'est quoi cette variable?" et "il est censé faire quoi ce bout de code?"

    bref

    Citation

    Codez en songeant que celui qui maintiendra votre code est un psychopathe qui connaît votre adresse :pirate:



    Exemple:



    Voici deux codes sources qui effectue la même chose.
    c'est écris en python.

    notes = []           
    n = 2               
    while n >= 0 :
    print "Entrez la note suivante, s.v.p. : ",
    n = float(raw_input())     
    if n < 0 :
    print "OK. Terminé."
    else:   
    notes.append(n)         
    min = 500               
    max, tot, i = 0, 0, 0       
    nn = len(notes)         
    while i < nn:
    if notes[i] > max:
    max = notes[i]
    if notes[i] < min:
    min = notes[i]
    tot = tot + notes[i]
    moy = tot/nn
    i = i + 1
    print nn, "notes entrées. Max =", max, "Min =", min, "Moy =", moy


    Ce code ne fonctionne pas parceque python exige dans sa syntaxe l'indentation, ici je monte dans un langage plutot bien connu sur le forum et plutot simple de compréhention A TITRE EXPLICATIF


    # Notes de travaux scolaires

    notes = []           # liste à construire 
    n = 2                # valeur positive quelconque pour initier la boucle
    while n >= 0 :
        print "Entrez la note suivante, s.v.p. : ",
        n = float(raw_input())      # conversion de l'entrée en un nombre réel
        if n < 0 :
            print "OK. Terminé."
        else:   
            notes.append(n)         # ajout d'une note à la liste
            # Calculs divers sur les notes déjà entrées :
            # valeurs minimale et maximale + total de toutes les notes.
            min = 500               # valeur supérieure à toute note
            max, tot, i = 0, 0, 0       
            nn = len(notes)         # nombre de notes déjà entrées
            while i < nn:
                if notes[i] > max:
                    max = notes[i]
                if notes[i] < min:
                    min = notes[i]
                tot = tot + notes[i]
                moy = tot/nn
                i = i + 1
            print nn, "notes entrées. Max =", max, "Min =", min, "Moy =", moy


    Alors quel code vous semble plus facile à lire?

    Les pythonistes adepte du cours de G. Swinnen remarquerons que c'est l'exercice 6.15


    Les enregistrements


    Pas besoins de sous titre ici, on vas faire court :-°

    En gros, il est bien évident qu'il faut sauvegardé souvent votre code source ça tous le monde le sais (personne n'est à l'abri d'une gaffe de l'EDF ou d'une panne de baterie sur votre portable), mais il faut aussi sauvegardé vos codes sources sous plusieurs nom différents quand vous faites des modifications importante.

    exemple:
    monPprogramme.exe => monProgramme1.exe ou en cas de grosse modif monProgramme_trèsCourteEplicationDeLaModif.exe



    Voilà, j'espere que vous continuerez ce poste pour faire partager vos connaissances avec tous le mondes.
    • Partager sur Facebook
    • Partager sur Twitter
      26 mars 2006 à 14:26:47

      Il y a un point CAPITAL:

      Comprendre ou Copier ?


      De nombreux zéros qui suivent un cours (PHP ou C principalement) reprennent pour leur "programmes" ou scripts des bouts de codes trouvés sur le net ou des les tutos.

      Le problème de ce genre de chose, c'est que la majorité des zéros ne comprennent pas COMMENT fonctionne le code qu'ils copient. D'ailleurs, il y a régulièrement des messages sur le forum du genre "J'ai pris le code du tuto X, mais il me fait une erreur, d'où vient-elle, merci" qui prouve bien que la personne n'a pas réellement appris à utiliser le langage en question.

      Programmer, ce n'est EN RIEN aligner des lignes de code et cliquer sur un bouton de compilation ou d'execution... C'est une façon de penser, d'écrire. Programmer demande une rigeur de raisonnement et une logique prononcée. Lorsque vous voulez faire quelquechose, ne vous demandez pas "où trouver le code", mais "comment mettre en place ce script".

      La plupart du temps, ce que vous voulez faire est très simple, et ne nécessite pas beaucoup de connaissances au niveau des fonctions. Seulement, il faut réfléchir à une ligne de conduite.

      On commence par voir ce dont on dispose: quelles variables/infos. Puis on regarde ce qu'on veut obtenir. Entre les deux, il reste à trouver le script. C'est surtout de la logique, à partir de ce que j'ai, comment procéder pour générer les infos manquantes.

      Ne copiez pas, réfléchissez!
      • Partager sur Facebook
      • Partager sur Twitter
        27 mars 2006 à 0:05:55

        Pour ma part Deja pour bien programmer il faudrait une bonne logique evidemment cette logique ca se développe ; pour la developper , je dirais faire plusieurs excercices d'algo ou (mais pas nécessairement) les maths (pas forcément les excercies scolaires :p ).

        Apres reste l'apprentissage des languages de programmation... je connais quelqueu personnes qui connaissent plusieurs languages Java , C , C++ , Vb o_O , mais qui ne maitrisent aucun , prenant l'exemple du C , beaucoup de personnes utilisent des Api et bibliotheques Additionelles ( Graphique par exemple ) sans maitriser les bibliotheques standards . Resultat tot ou tard il seront bloqués et seront obligés de faire marche arrière . Donc mon conseil c'est de ne pas se precipiter et prendre son temps pour apprendre , sans bruler d'étapes .

        En plus de ça reste la façon de coder (comme on l'a dis ci-haut) , Il faut prendre son temps pour indenter et commenter son code , pour faciliter la relecture ultérieure du code par vous ou par quelqun d'autre , de plus , ça aide pour la correction de bugs . Apres viens la conception de code modulaire (Grace aux fonctions ou a la POO par exemple) , tout ceci , pour eviter un code "spaghetis" , et maintenir la propreté et la liibilité du code.

        Et enfin , vient comment concevoir un code , la plupart des amateurs (j'en suis un :p ) codent de façon spontanée , c'est a dire sans squellette ou analyse du probleme qu'il doivent resoudre , resultat : peut etre des bugs , et vous verrez plusieurs choses à ameliorer apres une simple relecture du code , alors que pour concevoir une application clair et efficace dés le début , la meilleure chose est d'analyser ce que vous voulez faire , et de resoudre le probleme ne serait-ce qu'avec du pseudo-code.

        Voila c'est mon mini-pavé du jour .
        ++
        • Partager sur Facebook
        • Partager sur Twitter
          27 mars 2006 à 7:05:34

          Topic exellent, je le mets en favoris ;)
          je vais m'abstenir d'y participer pour pas dire n'importe quoi :)
          • Partager sur Facebook
          • Partager sur Twitter
            27 mars 2006 à 9:50:39

            Merci, c'est pas mal dit.

            Peut-être faudrait-il rajouter une partie sur le nom des variables?
            (qui s'y colle :p )
            • Partager sur Facebook
            • Partager sur Twitter
              27 mars 2006 à 10:17:56

              Il y est :)

              Citation


              Le nom des variables:

              Exactement la même chose que les commentaires, avouez que vous aurez plus facile de relire (ou faire lire) votre code avec une variable dateDeNaissance_visiteur plutot que naiss_visit ou date_visit ...



              Je vais essayé de modifier le code du mauvais exemple a l'occasion pour changer le nom des variables...
              • Partager sur Facebook
              • Partager sur Twitter
                27 mars 2006 à 10:52:51

                Le style est un sujet bien trop subjectif. A part "indenter" et "restez consistent", il n'y a pas d'autres règles "universelles".
                • Partager sur Facebook
                • Partager sur Twitter
                  27 mars 2006 à 12:57:07

                  Citation : sloshy

                  Il y est :)

                  Citation


                  Le nom des variables:

                  Exactement la même chose que les commentaires, avouez que vous aurez plus facile de relire (ou faire lire) votre code avec une variable dateDeNaissance_visiteur plutot que naiss_visit ou date_visit ...



                  Je vais essayé de modifier le code du mauvais exemple a l'occasion pour changer le nom des variables...



                  Pas vu, merci ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    27 mars 2006 à 13:55:18

                    Le point le plus important c'est à mon avis celui du "je copie pas, je cherche". L'aide apportée ne devrait jamais être sous forme de code, sauf exemples.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    [Recapitulatif] Comment bien programmer ...

                    × 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