Sondage Je commente mon code :

Posté par .
Tags : aucun
0
8
avr.
2004
  • selon le format imposé par le projet :
    204
    (7.0 %)
  • de manière très approfondie :
    189
    (6.5 %)
  • de manière à générer automatiquement la doc :
    413
    (14.2 %)
  • quand j'estime que cela est nécessaire :
    868
    (29.8 %)
  • de manière succinte :
    240
    (8.3 %)
  • mon code est suffisamment explicite de lui même :
    175
    (6.0 %)
  • avec des faux commentaires pour induire les gens en erreur :
    237
    (8.1 %)
  • #!/usr/bin/perl est le seul commentaire utile :
    203
    (7.0 %)
  • je ne code pas :
    380
    (13.1 %)

Total : 2909 votes

La liste des options proposées est volontairement limitée : tout l'intérêt (ou son absence) de ce type de sondage réside dans le fait de forcer les participants à faire un choix. Les réponses multiples sont interdites pour les mêmes raisons. Il est donc inutile de se plaindre au sujet du faible nombre de réponses proposées, ou de l'impossibilité de choisir plusieurs réponses. 76,78% des sondés estiment que ces sondages sont ineptes.
  • # Re: Je commente mon code :

    Posté par (page perso) . Évalué à 4.

    Dans le même style de question :
    - votre code est-il en français ou en anglais ?
    - vos commentaires sont-ils en français ou en anglais ?
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 1.

      Personellement, je code toujours tout en anglais. A côté de moi, j'ai toujours ma bible C ou PHP avec mon dictionnaire français-anglais pour quand j'ai des doutes et éviter les franglicismes et autres faux-amis.

      On ne sait jamais si deux lignes de codes finissent dans un projet plus ambitieux et qui doit être partagés, alors l'anglais devient un must !
      • [^] # Re: Je commente mon code :

        Posté par . Évalué à 3.

        Encore mieux pour écrire en anglais, un dictionnaire anglais seulement (pour étranger éventuellement). Ca permet d'être plus proche de la philosophie de langue sans penser en français.
        Et je code moi aussi en anglais (à quand un langage en Esperanto :o) ?
        • [^] # Re: Je commente mon code :

          Posté par . Évalué à 1.

          À quand un langage en Esperanto.
          Bientôt j'espère.
          Mais avant ça, je pense qu'il pourrait être intéressant de remplacer les lettres accentuées par des lettres non accentuées sans changer la pronciation (je sais plus le nombre de lettre en esperento, mais il men semble que ça reste en dessous de 26). Je sais on peut mettre cx, sx... mais bon...
          Il ne restera plus qu'à faire un clavier dvorak en esperento (y a-t-il déjà des projets ?)

          Ensuite, ce serait bien que ce soit reconnue par l'europe et enseigné dans tout les pays (ça permettrai de faire de l'initiation aux langues étrangères sans forcément dégouter tout de suite les élèves avec d'interminable liste de verbe irrégulier ou autre). Je pense que ça pourrai même donné le goût à certain de s'intersser à d'autres langues.
          Tout les enfants pourrait ainsi dès le début du collège communiquer avec n'importe quel européen (peut-être qu'alors les américains se mettrait alors aussi à le parler en seconde langue).
          J'éspère même que ça deviennent un jour la langue officielle de l'Europe (mais je ne suis pas du tout pour la supression des langues des pays membres, c'est juste pour la communication entre les peuples).
          • [^] # Re: Je commente mon code :

            Posté par . Évalué à 2.

            Pour complément: l'espéranto a été revu et corrigé par Zamenhof, l'inventeur de l'Espéranto ainsi que par beaucoup d'autres gens.
            A l'époque les gens parlant espéranto n'ont pas accepté de parler la version corrigée qui est donc devenu une langue à part entière "l'Ido".
            Aujourd'hui encore, ceux parlant espéranto ne veulent pas faire la transition vers l'Ido.
            L'Ido ne contient pas d'accents et pour éviter de répéter ce qui a été écrit ailleurs voici une très bonne adresse:
            http://www.geocities.com/Paris/Rue/8009/idolinguo.html(...)
            • [^] # Re: Je commente mon code :

              Posté par . Évalué à 0.

              Merci vraiment beaucoup pour le lien, je n'ai pour l'instant eu que le temps de le survoler, mais l'idée est d'avoir une langue européenne / internationale simple et rapide à apprendre et qui n'est la langue maternelle de personne. Que ce soit l'esperanto, l'Ido ou autre, peu importe.
              Je trouve dommage que les esperantistes refusent cette transition, car elle m'a tout de même l'air assez intéressante.
              En tout cas, si un jour une tel langue était utilisé à grande échelle, autant prendre directement la "mieux" surtout vu le nombre réduit (malheureusement) d'espérentiste et une transistion qui apparament de force pas non plus à tout réapprendre.
              J'espère sincèrement que les gouvernements ne sont pas désintéressé par cette mise en place uniquement parce qu'ils ne souhaitent pas eux-même apprendre une autre langue (ce sera plus simple pour les générations futures).
              J'éspere quand même que ce sera concrétisé un jour, que ce soit en Esperanto ou en Ido.
              • [^] # Re: Je commente mon code :

                Posté par . Évalué à 0.

                Les espérantistes se sont opposé à l'IDO pour de bonnes raisons. L'ido est bcp plus difficile à apprendre : en effet, il y a beaucoup plus d'exceptions. Il s'agissait pour les créateurs de l'ido de faire une langue plus comforme au "géni des langues occidentales", projet particulièrement trouble et louche.
            • [^] # Re: Je commente mon code :

              Posté par . Évalué à 1.

              Ce que tu dis est complètement faux. L'Ido a été crée au corps défendant de Zamenhof, par des français.

              Ce n'est pas une version "corrigée" mais une transformation en profondeur, dans un sens opposé à la philosophie de l'Espéranto.

              Zamenhof a proposé d'utiliser gh, ch, etc à la place des accents. Il n'a jamais eu rien à voir avec l'Ido.

              Merci de vérifier tes infos avant de poster.
              • [^] # Re: Je commente mon code :

                Posté par . Évalué à 2.

                j'ai pas envie de partir dans un troll espéranto/ido pas intéressant mais puisque tu me demandes mes sources:
                http://idofrancais.free.fr/(...)

                extrait: "C'est alors qu'un comité multidisciplinaire international composé de scientifiques renommés et des plus éminents linguistes fut élu et, après avoir étudié les dizaines de langues universelles de l'époque, décida unanimement qu'aucune ne pouvait être adoptée dans son intégralité, bien que l'Espéranto et l'Idiom Neutral les avaient particulièrement impressionnés malgré des défauts majeurs selon eux.

                Pendant 18 longues sessions, ils définirent le projet Ido (dont le nom signifie "enfant", sous entendu de l'Espéranto) et, au terme de ces rencontres, votèrent plusieurs résolutions. Le résultat est une langue efficace et facile à prononcer dont plusieurs améliorations viennent de Zamenhof, l'inventeur de l'Espéranto. L'Ido a adopté l'alphabet latin sans les consonnes accentuées et la voyelle avec un accent circonflexe à l'envers de l'Espéranto (ĉ, ĝ, ĥ, ĵ, ŝ, ŭ), adopté de nouveaux affixes, rendu l'adjectif invariable (comme en anglais), utilisé des racines plus internationales, bref revu et corrigé la création de Zamenhof.

                L'Ido est toutefois demeuré peu connu jusqu'à ce jour à cause de certaines réalités dont la mort accidentelle de son principal promoteur et le rejet des leaders espérantistes qui auraient été offusqués que leur langue ne soit pas tout simplement adoptée sans modification."

                Et l'Ido est plus facile à apprendre, liste des principales différences:
                http://idofrancais.free.fr/?menu=presentation&texto=modificatio(...)
                • [^] # Re: Je commente mon code :

                  Posté par . Évalué à 2.

                  j'ai oublié d'ajouter ceci:
                  http://idofrancais.free.fr/?menu=presentation&texto=comite(...)
                  où l'on peut y trouver la composition du comité que tu dis français:

                  * Manuel BARIOS : Doyen de la Faculté de Médecine de Lima, président du Sénat du Pérou.
                  * Jan Ignacy BAUDOUIN DE COURTENAY : Professeur de linguistique à l'Université de Saint-Pétersbourg, considéré comme le précurseur de la phonologie.
                  * Emile BOIRAC : Recteur de L'université de Dijon, président du Lingva Komitato espérantiste.
                  * Ch. BOUCHARD : Membre de l'Académie des Sciences de Paris, professeur à la Faculté de Médecine.
                  * W. FÖRSTER : Président du Comité international des poids et des mesures, ancien directeur de l'Observatoire de Berlin.
                  * G. HARVEY : Éditeur de la North American Review (New York).
                  * Otto JESPERSEN : Linguiste, membre de l'Académie danoise des Sciences, professeur de philologie à l'Université de Copenhague (prix Volney, 1906).
                  * S. LAMBROS : Ancien recteur de l'Université d'Athènes.
                  * C. LE PAIGE : Directeur de la Classe des Sciences de l'Académie Royale de Belgique, administrateur-inspecteur de l'Université de Liège.
                  * Wilelm OSTWALD : Prix Nobel de chimie (1909), membre de la Société Royale des Sciences de Saxe, professeur émérite de l'Université de Leipzig, président du comité linguistique de l'Espéranto, président de la Commission Permanente.
                  * Hugo SCHUCHARDT : Membre de l'Académie Impériale des Sciences de Vienne, professeur de l'Université de Graz.
                  * Gustav RADOS : Membre de l'Académie hongroise des Sciences.
                  * W. T. STEAD : Éditeur de la Review of Reviews (Londres).
                  * Guiseppe PEANO : Membre de l'Académie de Lincei et de l'Académie des Sciences de Turin, professeur à l'Université de Turin.
                  * Louis COUTURAT : Mathématicien et philosophe, docteur ès lettres, Paris, Secrétaire de la Commission Permanente.
                  * Léopold LÉAU : Docteur ès sciences, Paris, Secrétaire la Commission Permanente.
                  * R. EOTVOS : Membre de l'Académie Hongroise des Sciences.
                  * Louis DE BEAUFRONT : Docteur, bras droit de Zamenhof et principal propagateur de l'Espéranto en Europe, adjoint par la suite à la Commission Permanente.
                  * Richard LORENZ (?) : Physicien et professeur.
                  * L. PFAUNDLER (?)

                  Merci de vérifier tes infos aussi avant de poster au fait ;)
          • [^] # Re: Je commente mon code :

            Posté par . Évalué à 2.

            Pour le dvorak en esperanto :
            http://www.skotlando.org/Downloads/Keyboard/Other%20Layouts/EspDvor(...)
            http://www.geocities.com/steve_pcperson/esperanto.htm(...)
            premiers resultats de google avec la recherche dvorak esperanto.
            Sinon ya pas longtemps yavait un long troll une longue discution sur le sujet sur linuxfr: http://linuxfr.org/2004/01/14/15090.html(...)
            • [^] # Re: Je commente mon code :

              Posté par . Évalué à 1.

              Merci pour ces liens et j'ai honte de moi. J'avais déjà posé la question du clavier sur le précédent troll discussion, et l'on m'avait répondu.
        • [^] # Re: Je commente mon code :

          Posté par . Évalué à 1.

          "Et je code moi aussi en anglais"

          Ah oui ? Je ne connais pas ce langage ... C'est nouveau ?
          Moi je code essentiellement en C et en Perl.
        • [^] # Re: Je commente mon code :

          Posté par (page perso) . Évalué à 2.

          à quand un langage en Esperanto

          Pour ma part, je mets les commentaires en espéranto (si si !), j'utilise la nommenclature des 'x'.

          Pour ceux qui connaissent pas, il y a en espéranto 28 lettres et chaque lettre se prononce toujours de la même façon.

          il existe un c avec un accent circonflexe : ĉ
          Que l'on écrit de différentes façons :
          cx (car le x n'est pas utilisé en espéranto)
          ch (car le ĉ se prononce "tch" comme ĉevalo [tchévalo])
          ^c (comme on pourrait le faire sur une machine à écrire)
          c'

          Si je fais ça, c'est parce que mon code est relu par d'autres personnes qui parlent l'espéranto et qui ne parle pas (ou mal) anglais.

          http://ikurso.esperanto-jeunes.org(...)

          C'est une application pour gerer des élèves qui apprennent l'espéranto et leurs correcteurs.

          everybody likes screenshot (cxiuj sxatas ekranbildojn)

          http://ikurso.esperanto-jeunes.org/ss1.jpg(...)
          http://ikurso.esperanto-jeunes.org/ss2.jpg(...)
          http://ikurso.esperanto-jeunes.org/ss3.jpg(...)
          http://ikurso.esperanto-jeunes.org/ss4.jpg(...)

          Voilà !

          Donc, la langue utilisée dépend des relecteurs ! :-)

          Axel
      • [^] # Re: Je commente mon code :

        Posté par . Évalué à 0.

        c peu etre un peu HS mais bon je pose kan meme comme y a locase alors c pour savoir si vous connaissez un logiciel sous linux qui permet de traduire un mot du Francais vers l'anglais et inverse? mais bon pas la vieille traduction de Voila.fr :-(
      • [^] # Re: Je commente mon code :

        Posté par . Évalué à 1.

        Je met les commentaires en chinois, c'est compris par plus de personnes que l'anglais, et plus facile à interpreter (pour ce qui est technique), j'aurais pu mettre en espagnol aussi, mais j'ai la flemme d'apprendre cette langue a cause de la conjugaison, qui a l'air d'etre presque aussi difficile que le francais :)
        Entre l'ouverture economique de la Chine (mais le coté liberticide, meme si les lois on l'air de tendre vers quelque chose de plus correcte, contrairement à la France :( ), et le developpement (des pays pas du code) par methodes alternative de plusieurs pays d'amerique latine, (et la, ca a l'air de vraiment promettre), y'a de quoi se tater.

        Mais esperanto pour sa neutralité, pourquoi pas apres tout???
        • [^] # Re: Je commente mon code :

          Posté par . Évalué à 1.

          non, quand même, il y a pas mal d'exceptions en espagnol, mais je pense que c'est beaucoup plus simple à apprendre que le français ou le chinois (ah, apprendre le chinois, ca j'en rêve)
          • [^] # Re: Je commente mon code :

            Posté par . Évalué à 1.

            ben, en chinois, y'a pas de conjuguaison, pas d'accords (c'est dur de mettre un s a un sinogramme ;) ), donc, c dur de faire plus simple...
            donc, les exceptions --->[]
            de plus une base de la grammaire de l'esperanto est basé sur la grammaire chinoise qui a une base unifié (pas le bordel de l'assemblage du francais, lié a tous les dialectes regionaux, et aux origines etymologiques étrangeres). donc les associations sont proche des associations qu'on fait du grec par ex en francais:
            polygone, octogone ...
            sauf que c'est toujours les memes syllabes (pas de mélange d'origine latine, grecque ou autre.
            qiqe=voiture,huoqiqe(feu-voiture)=train,gonggongqiqe=(publique-partage-voiture)=bus...

            Seul les nom propres d'origine étrangere donne lieu a des 'mots' dont la signification est exception (on utilise une association de caracteres qui va avoire une prononciation proche de la prononciation dans la langue d'origne)
            ex: bali = Paris (le b chinois ressemble un peu a un p, et le l peut etre considéré comme un r roulé).

            La difficultée en chinois (comme dans beaucoup de langues), c'est l'utilisation massive d'expression (qui peuvent tenir en 2 caracteres (=2 syllabes)).

            p.s.: pour travailler l'esperanto:
            ya une emission en esperanto toutes les vendredi a 18h sur radio libertaire (ecoutable en flux mp3-->les inciter a utiliser l'ogg):
            http://www.federation-anarchiste.org/rl/(...)
    • [^] # Re: Je commente mon code :

      Posté par (page perso) . Évalué à 2.

      Pour les deux, en anglais - une habitude prise dans mon premier boulot (où des anglais et espagnols lisaient notre code) d'une part, et parce que sur les projets open-source c'est la norme quand on contribue ;-) (et aussi, la norme si vous voulez que des gens envoient des patches à votre projet).
      ça tombe bien, c'est plus concis, donc ça fait du code plus clair - à mes yeux.
      • [^] # Re: Je commente mon code :

        Posté par (page perso) . Évalué à 1.

        et en plus ça évite les commentaires avec des caractères accentués qui ne sont pas forcément reconnus partout...

        Pour exemple je code en C++/MFC (oui, je sais, shame on me... mais faut bien bouffer), et l'éditeur de Visual C++ ne sait pas se déplacer au mot suivant si celui ci contient des accents, il s'arrête juste avant l'accent (il prend ça pour un séparateur de mot)... donc ça devient vite lourd... Et le commentaires en français sans accents, c'est lourd aussi... Donc codez et commentez en anglais, et au moindre doute, http://www.yourdictionary.com(...) !
    • [^] # Re: Je commente mon code :

      Posté par (page perso) . Évalué à 0.

      moi je je code et commente en franglo-allemand, en fait je devrais peut-être commenter les commentaires pour les expliciter ...

      [X] je commente mon code en charades ...

      ok je sors -----------------------> []
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 1.

      ça devrait être :
      votre code est-il en franglais ou en anglais ?

      Parce que du code genre :

      "get_identifiant()"
      "set_identifiant()"

      "select nom, prenom, age from famille where age > 147"

      "public void bonjour() { }

      ...

      une espèce de mélange d'anglais et de français sans fusion, mais cohabitation !
      • [^] # Re: Je commente mon code :

        Posté par (page perso) . Évalué à 2.

        "select nom, prenom, age from famille where age > 147"

        Tu dois avoir une sacré famille si y'en a qui ont plus de 147 ans ! ;)

        hein quoi ?
        oui j'y vais ->[]
    • [^] # Re: Je commente mon code :

      Posté par (page perso) . Évalué à 4.

      #define si if
      #define tant_que while
      #define pour for
      #define vide void

      Pas terrible...
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 1.

      Moi je prefere tout faire en englais, comme je parle tres peut (et plutot mal) la langue j'ai tendance a faire simple dans les explications et du coup c'est plus facilement compris par mes collegues
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 1.

      Presque toujours commenter en français.
      On est en france , et c'est plus simple pour mes collegues, et moi meme.
      Mais faut dire que je programme pas beaucoup, et c'est pas des programmes bien imporatant, alors ...
      • [^] # Re: Je commente mon code :

        Posté par . Évalué à 1.

        Ben moi je suis seul à coder dans le langage que j'utilise pour la bonne raison que j'ai créé ce langage mais je n'ai pas encore eu le temps de créer ma propre langue pour les commentaires, Devrais je m'inspirer de l'espéranto ?

        ok ------->[]
  • # Re: Je commente mon code :

    Posté par (page perso) . Évalué à 3.

    "quand j'estime que cela est nécessaire" et "mon code est suffisamment explicite de lui même" sont un peu redondantes...
    Perso j'estime un commentaire nécessaire quand le code auquel il s'applique n'est pas assez explicite : pas de commentaire sur un get_date(), par contre sur un do_stuff(lots, of, params) un petit commentaire doxygenable/javadocisable est toujours le bienvenu...
    • [^] # Re: Je commente mon code :

      Posté par (page perso) . Évalué à 1.

      pas de commentaire sur un get_date()
      Faut voir. Par exemple je vois une fonction get_date() dans une API sans commenataire je pose quelques questions :
      - Est-ce que la fonction peut revoyer NULL ?
      - Est-ce qu'elle revoie une date par défaut ? le 1/1/70 ou la date d'aujourd'hui ?
      - Est-ce qu'elle renvoie des codes d'erreur ou des exceptions ? dans quels cas ?
      - Est-ce que ka date retournée utilise la TimeZone de la machine ou une TimeZone par défaut ?

      Bien sûr ces questions sont bien souvent des faux problèmes, surtout le coup de la TimeZone. En fait, pour écrire des commentaires, le programmeur doit se mettre à la place de celui qui lira le code sans l'avoir écrit (contributeur, débuggeur, développeur d'une application tierce ou d'un plugin utilisant l'API...) et ce n'est pas facile de se dire que tel ou tel commentaire est inutile ou alors indispensable quand on a pas le recul.
      • [^] # Re: Je commente mon code :

        Posté par . Évalué à 4.

        en fait, sans meme penser aux autres qui liront le code , un commentaire c'est bien agréable pour soit, par exemple quand tu interviens en mainteance sur du code que tu as ecrit il y a tres longtemps, genre "quel est l'#@! qui a ecrit ce truc" ... cvs log ... "a tien c'est moi :-( " alors qu'avec un petit comentaire tu comprends de suit pourquoi t'as été obligé d'écrire ce turc horrible
      • [^] # Re: Je commente mon code :

        Posté par (page perso) . Évalué à -1.

        Les langages modernes te permettent de spécifier dans son prototype qu'une fonction utilise une exception.
        • [^] # Re: Je commente mon code :

          Posté par (page perso) . Évalué à 3.

          Oui mais pas toujours les préconditions sur les paramètres d'entrée de la fonction, et ça c'est vraiment très pratique.
        • [^] # Re: Je commente mon code :

          Posté par . Évalué à -2.

          Vouais et certain langage moderne comme java pour ne pas le citer on fait un bond en arrière géant et nécessite moultes commentaires :

          Par exemple, lorsque les prototypes d'une classe te disent que ses méthodes prennent en paramètre des "Object" et renvoient des "Object".

          Du coup t'es obliger d'écrire un petit commentaire a coté pour dire :

          //au fait, c'est une ArrayList qui contient des "Bidule"
          • [^] # Re: Je commente mon code :

            Posté par . Évalué à 1.

            D'un part il faudrait utiliser une signature retournant
            au mieux List ( l'interface ) au pire ArrayList ( l'implementation )

            D'autre part tu peux vérifier à l'insertion que l'objet
            passé en parametre est du type souhaité. [ mais ca sux ]

            Si un parametre est Object alors tu es censé traiter tous
            les Object. Si tu veux restreindre à certaine interface
            c'est à toi de modifier le type du paramètre dans la
            signature.

            En gros les commentaires :

            // au fait, c'est une ArrayList qui contient des "Bidule"

            indiquent simplement un défaut de conception

            Finalement java 1.5 et les génériques permettent
            maintenant de forcer ce comportement en indiquant
            que ta liste ne peut contenir qu'un type précis d'objet
            • [^] # Re: Je commente mon code :

              Posté par . Évalué à 0.

              Ce que je decrivais etait l'abscence de template.
              L'interface List me fait une belle jambe avec ces "Object", il va quand meme falloir que je rajoute un commentaire pour dire :

              // La au fait je renvois une "List" d' "Object" mais en fait j'aimerais bien vous renvoyer une "List" de "Truc", mais comme le language est un peu primitif et que je ne vais pas faire une classe speciale pour chaque machin que je veux mettre dans une liste, je vous le dis en commentaire.

              Donc pour le default de conception je suis d'accord, c'est le language qui en a un, reste a voir ce que propose la 1.5 pour y palier.
              • [^] # Re: Je commente mon code :

                Posté par (page perso) . Évalué à 1.

                N'empeche que le coups "ca retourne Object au lieu de List" c'est de la mauvaise fois.

                Pour le 1.5 tu pourra écrire :

                public List getBidules();

                Assez clair, non ?
              • [^] # Re: Je commente mon code :

                Posté par . Évalué à 1.

                sauf que si tu sais coder proprement en Java, tu etends la classe ArrayList de facon a ce que ArrayList.add ou ArrayList.get(int i) ne prennent et ne renvoie que le type d'objet a etre manipulé....
                tu as un truc comme :

                public class MyArrayList extends ArrayList{
                // constructeur...
                public boolean add(MyObject mo){super.add(MyObject);}

                public MyObject get(int index){
                return (MyObject)(super.get(index));
                }
                }


                Ca, c'est de l'heritage de base et c'est le genre de chose qui simplifie la vie...
                • [^] # Re: Je commente mon code :

                  Posté par . Évalué à 1.

                  Hum, hum, et tu créé une nouvelle classe pour chaque type d'objet à manipuler ? Question élégance et propreté, y'a mieux quand même ...
                  • [^] # Re: Je commente mon code :

                    Posté par . Évalué à 1.

                    tout a fait d'accord.

                    Java avant 1.5 n'a PAS de template et les magouilles autour, reste des magouilles pour pallier aux limitations du language.

                    et deriver chaque containeur selon chaque type de contenu n'est en pratique pas maintenable (entre autre).

                    Donc en pratique avant 1.5, si tu veux retouner une liste de bidule tu fais un truc du style :

                    List getBidules ();

                    et List est une interface qui renvoie des Object et PAS des Bidule!

                    Donc le reste du code qui utilise ta methode getBidules() doit faire des cast d'Object en Bidule.

                    Et ca c'est quelque chose d'implicite non pas a la signature de l'interface List (qui renvoie des Object) mais a la semantique de ta methode : la methode s'appelle getBidules !

                    Ceci est important car, c'est quelque chose que le compilateur ne peut pas vérifier, un utilisateur de ta methode pourrait tres bien caster le contenu de la List en n'importe quoi et le compilateur ne moufterait pas une seconde, l'erreur apparaiterait seulement au runtime au passage dans le code.

                    Du coup un petit commentaire pour dire que la List que tu renvoies est une list de Bidule me parrais pas superflus.
      • [^] # Re: Je commente mon code :

        Posté par (page perso) . Évalué à 3.

        Tu confonds commentaires et documentation.

        Un commentaire est placé au sein du code et sert juste à clarifier le code quand celui-ci n'est pas assez parlant. Ceci devrait rester exceptionnel si on fait du code de manière suffisamment explicite (25 lignes max par fonction, noms de variables/fonctions explicites, variables intermédiaires quand besoin (c'est optimisé par le compilo/interpréteur la plupart du temps), etc.).

        La documentation sert à fournir des informations aux personnes qui ne veulent/peuvent pas lire le code source.
        Plus elle est complète et mieux c'est.

        Les questions que tu te poses en voyant get_date() relèvent de la documentation. Si tu regardes le code, celui-ci doit être assez clair pour répondre à tes questions.

        Après, je suis d'accord que certains langages mettent la documentation au milieu du code (comme la javadoc), mais on distingue quand même les deux (les commentaires sont d'ailleurs présentés différemment dans ce but) et dans le cas de la javadoc on peut produire une doc externe.
        • [^] # Re: Je commente mon code :

          Posté par (page perso) . Évalué à 1.

          Tu confonds commentaires et documentation.
          Oui en effet... et c'est volontaire. En fait je pensais à Java quand j'ai écrit ça mais je pense que ces deux notions sont intimement liés. Tout simplement parce premièrement, il faudra bien écrire la documentation à un moment ou un autre et que le plus simple c'est de la générer automatiquement à partir des commentaires du code source ; c'est d'ailleurs la réponse que j'ai donnée au sondage.

          Les questions que tu te poses en voyant get_date() relèvent de la documentation. Si tu regardes le code, celui-ci doit être assez clair pour répondre à tes questions.
          Bien sûr mais :
          1 - c'est parfois très complexe et donc très long
          2 - c'est pratique de savoir ce qu'à voulu faire le programmeur pour éviter le célèbre : c'est une feature ou un bug ?
          C'est la deuxième raison qui m'incite à mettre la documentation dans les commentaires : celui qui lit le code, parce qu'il contribue/dévermine/reprend le projet, en a aussi besoin.

          Ceci devrait rester exceptionnel si on fait du code de manière suffisamment explicite
          J'abonde dans ton sens.
  • # Re: Je commente mon code :

    Posté par . Évalué à 2.

    Les seuls commentaires que je mets dans du code sont:
    - Un entête disant en 1-2 lignes ce qui est fait dans le fichier et listant toute les procédures/fonctions, types et variables du fichiers en précisant si elle sont visibles de l'extérieur ou non.
    - Un entête pour chaque fonction listant les paramêtres en précisant ce qu'ils sont et s'ils sont modifiés, le retour et 1-2 lignes expliquant le fonctionnement de cette fonction.

    Par contre dans le code pas ou trés peu de commentaire et des noms de procédures/fonctions, types et variables qui veulent dire quelques choses.
    J'estime que si je n'arrive pas à décrire en 1-2 lignes le fonctionement d'un fonction, c'est que celle-ci est trop compliquée et qu'il y a un problémes de conception.
  • # Re: Je commente mon code :

    Posté par . Évalué à 2.

    Ou ce servir des commentaires (ou des noms de variables, méthodes, ...) pour glisser dans le code qlqs références culturelles ou qlqs incantations magiques
    • [^] # Re: Je commente mon code :

      Posté par (page perso) . Évalué à 1.

      En licence, je mettais amuser à nommer mes variables avec des noms d'unité de Starcraft. (deux hightemplars donnaient un archos, enfin deux listes étaient reduite en une seule).

      Sinon pour les commentaires et code j'essais de tout mettre en anglais : souvent plus court. Du peu que j'ai essayé en français : les noms de procedure deviennent rapidement de véritables phrases.

      Pour les nombres commentaires c'est quand j'estime que cela est nécessaire : donc un ou deux par paquets de 100 ou 200 lignes.
      • [^] # Re: Je commente mon code :

        Posté par (page perso) . Évalué à 2.

        Quand les noms de variables et de fonctions deviennent trop longs, le code devient difficile à comprendre. Dans le cas d'un nom de variable court, c'est plus facile à lire et plus difficile à comprendre.
        Exemple court :
            if( A > B) Traiter;
        Exemple long :
            if(NombreElementsDisponiblesEnMagasin > NombreElementsDemandesParLeClient) TraiterLaCommande;

        Je pense qu'il vaut mieux déclarer explicitement toutes les variables en donnant leur signification et des noms assez courts. Le code devient ainsi lisible, compréhensible et aéré.

        Exemple :
            int NbDispo; /* Nombre d'éléments disponibles en magasin */
            int NbDem; /* Nombre d'éléments demandés par le client */

        if( NbDispo > NbDem ) TraiterLaCommande;

        J'utilise généralement les variables en français de façon à reconnaitre du premier coup d'oeil ce qui appartient au programme et ce qui vient d'ailleurs. Bien entendu, ce n'est pas valable si on veut exporter son travail hors des pays francophones.
        • [^] # Re: Je commente mon code :

          Posté par (page perso) . Évalué à 0.

          --- post-389467.orig.txt 2004-04-09 19:28:44.000000000 +0200
          +++ post-389467.txt 2004-04-09 19:29:01.000000000 +0200
          @@ -1,8 +1,8 @@
          Quand les noms de variables et de fonctions deviennent trop longs, le code devient difficile à comprendre. Dans le cas d'un nom de variable court, c'est plus facile à lire et plus difficile à comprendre.
          Exemple court :
          - if( A > B) Traiter;
          + if( A >= B) Traiter;
          Exemple long :
          - if(NombreElementsDisponiblesEnMagasin > NombreElementsDemandesParLeClient) TraiterLaCommande;
          + if(NombreElementsDisponiblesEnMagasin >= NombreElementsDemandesParLeClient) TraiterLaCommande;

          Je pense qu'il vaut mieux déclarer explicitement toutes les variables en donnant leur signification et des noms assez courts. Le code devient ainsi lisible, compréhensible et aéré.

          @@ -10,6 +10,6 @@
          int NbDispo; /* Nombre d'éléments disponibles en magasin */
          int NbDem; /* Nombre d'éléments demandés par le client */

          -if( NbDispo > NbDem ) TraiterLaCommande;
          +if( NbDispo >= NbDem ) TraiterLaCommande;

          J'utilise généralement les variables en français de façon à reconnaitre du premier coup d'oeil ce qui appartient au programme et ce qui vient d'ailleurs. Bien entendu, ce n'est pas valable si on veut exporter son travail hors des pays francophones.


          ok ok, ---->[]
  • # Re: Je commente mon code :

    Posté par . Évalué à 1.

    Ce qui amusant dans ce sondage c'est que les criteres de reponses sont subjectifs. Par exemple repondre: "quand j'estime que cela est nécessaire" ne veut pas dire grand chose dans l'absolu. Si on est en face de quelqu'un de maniaque qui estime necessaire de commenter chaque ligne ou si on parle a un goret qui commente 2 ou 3 lignes par fichier de 1500 lignes, les 2 peuvent donner la meme reponse ! ;oP
    Il y a quand meme pas mal de monde qui pretende mettre des faux commentaires pour induire les gens en erreur. J'espere pour eux qu'ils relisent jamais leur code! ;o)
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 1.

      Mais non t'as rien compris, c'est juste pour permettre à tes collègues qui ont ton projet en TMA (maintenance) de pouvoir dire : "p't@%*$ quel est le porc qui à codé ça avec les pieds??!!"

      c'est tout ;-)

      Sinon on trouve aussi de beau comentaire parfaitement inutile mais tellement plaisant à lire (vécu) :
      "La ptizognonisation de la fonction est là"
      • [^] # Re: Je commente mon code :

        Posté par . Évalué à 2.

        Les commentaires que je prefere c'est ceux du style :


        i++; // On incremente i

        on sent bien dans ce cas que l'auteur du code a parfaitement compris l'utilite des commentaires .........
        • [^] # Re: Je commente mon code :

          Posté par . Évalué à 2.

          En fait, ce qui est intéressant est de savoir pourquoi tu incrémente i ici et pas ailleurs.

          En plus c'est quoi i ? il sert à quoi ?

          donc i++; // On incremente i est un mauvais commentaire ?

          Du temps où je codais, j'essayais de commenter chaque ligne et des commentaire de ce type devait exister mais plutôt avec on passe au niveau, élément...) suivant
    • [^] # Re: Je commente mon code :

      Posté par (page perso) . Évalué à 1.

      Si on est en face de quelqu'un de maniaque qui estime necessaire de commenter chaque ligne

      Il y a des langages dans lesquels tu n'as pas le choix comme en assembleur. C'est tellement absconc !
  • # Re: Je commente mon code :

    Posté par (page perso) . Évalué à 1.

    Pour moi il y a trois types de commentaires :

    - la documentation, qui décrit le fonctionnement, le rôle, les contraintes (pré/post conditions par exemple), les situations exceptionnelles ou particulières, éventuellement certaines dépendances
    - les points de repère, pour distinguer (et nommer) par exemple des grandes étapes d'un algorithme
    - les commentaires proprement dit, permettant d'expliciter un algorithme ou de donner des détails sur un choix technique (par exemple, /* c'est "crado", il faudra changer ça mais pour l'instant je me concentre sur d'autres problèmes */)
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 2.

      Pour moi je trouve qu'il est aussi assez important de donner le sens en langage naturel de ce que je fais. (bien sûr pas à toutes les lignes).
      Je me moque un peu de la h4ck3r attitude qui dit que tu devrais "lire dans le code". Moi je pense que le code ne résume pas souvent une situation. Donc avant le code d'un algorithme j'aime expliquer le but de l'algorithme (éviter dêtre le nez dans le guidon).
      Je pense en plus que lors d'une maintenance on est aussi plus apte à voir l'erreur (est-ce une erreur de conception, ou d'implementation de l'algorithme).
      C'est un peu comme quand on se lance dans un argumentaire (type publication scientifique), on explique d'abord pourquoi on va emmener le lecteur dans tel ou tel direction avant de se lancer dans le détail. Ce n'est pas la peine que tout le monde réinvente le raisonement qui t'emmène à la construction du code et en plus en sens inverse !
      • [^] # Re: Je commente mon code :

        Posté par (page perso) . Évalué à 1.

        Je connais un type qui est du genre codeur fou et génial, c'est l'auteur de icecast (voir http://xiph.org(...) ). Il ne met aucun commentaire, ne regroupe pas les fonctions selon leur rôle et ne donne aucune indication sur la structure de son programme. En 2003, huit étudiants de l'ENSEIRB ont passé trois semaines juste pour comprendre comment ça fonctionnait.
        Ils ont proposé des modifications à l'auteur qui les snobés.
        Le travail des étudiants est sur savannah, nom : interopcast.
        • [^] # Re: Je commente mon code :

          Posté par . Évalué à 2.

          Je connais un type qui est du genre codeur fou et génial, c'est l'auteur de icecast (voir http://xiph.org(...(...)) ). Il ne met aucun commentaire, ne regroupe pas les fonctions selon leur rôle et ne donne aucune indication sur la structure de son programme.

          Il est peut-etre fou, peut-etre creatif, mais je vois mal comment on peut appeler un codeur qui a ce genre de defauts "genial"
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 1.

      Ou plus simplement les commentaire permettant de chiffrer précisément la propreté d'un projet par un simple 'grep gruik projet/*.c | wc -l'
  • # Re: Je commente mon code :

    Posté par . Évalué à 1.

    Je ne savais pas que l'on pouvais coder en français?!
    C't'une blague ou quoi???
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 1.

      windev ...
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 2.

      Les noms qu'on définit peuvent être en français ou en anglais. Souvent les étudiants le soir qui programment un pong auquel ils seront seuls à jouer utilisent des variables en anglais, style "bill" pour la bille ou "racket" pour la raquette. Idem pour les commentaires :
      bill.left=bill.left + 174; //Displace the bill to the left of 174 pixels
      Comme ça quand leur code sera mis sur sourceforge, des milliers de gens venant du monde entier, de toute langue et culture, pourront ne pas contribuer à leur jeu génial.
  • # Re: Je commente mon code :

    Posté par . Évalué à 1.

    moi je commente toujours en anglais, car je bosse dans une boite nord-americaine, et que c'est la norme. Toutes les docs que je pond sont elles aussi en anglais, et faite sous framemaker. Et je commente beaucoup, ne serait-ce que pour comprendre moi meme ce que j'ai fait apres quelques mois....
  • # Re: Je commente mon code :

    Posté par . Évalué à 2.

    Moi ce qui m'enerve avec les commentaires, c'est qu'on nous vole un peu de notre savoir-faire en les lisant. C'est comme si un mecanicien moto te rendait la moto avec la fiche explicative de toutes les operations qu'il a effectuées dessus.

    Résultat, on devient de la compétence au kilo que les SSII vendent aux entreprises qui ont des besoins.

    Il reste cependant des niches comme la maintenance des grandes bases de données par ex. Ou le savoir s'acquierent encore par voie orale et au bon gré des personnes.

    Je suis pour un obfuscateur de code dès lors qu'on vend notre intelligence a une entreprise. Elles vendent bien les executables sans le source aux clients ! Comme elles n'accepteront jamais ce procédé, proposé des commentaires minables voire pas de commentaires est une autre solution.
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 1.

      je suis bien d'accord, d'ailleurs, je propose a tout le monde de livrer son code source apres un gcc -E (pour ceux qui font du C)...
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 1.

      L'esprit du libre c'est justement de repandre au plus grand nombre les connaissances informatique.
      Résultat, on devient de la compétence au kilo que les SSII vendent aux entreprises qui ont des besoins
      rien en t'empeche si tu est jaloux de tes connaissance de faire de l'argent avec en expliquant jamais rien.
      La GPL n'est pas imcompatible avec l'argument financier (faire de l'argent en vendant du logiciel), simplement elle impose que tu en distribue les sources.
      Il reste cependant des niches comme la maintenance des grandes bases de données par ex. Ou le savoir s'acquierent encore par voie orale et au bon gré des personnes.

      Rien ne vaut une bonne ampoule de 75W dans les yeux pour faire avouer un pierre tramo....
      • [^] # Re: Je commente mon code :

        Posté par . Évalué à 1.

        Rien ne vaut une bonne ampoule de 75W dans les yeux pour faire avouer un pierre tramo....

        Mmmmh, comment tu la fait rentrer l'ampoule? Si c'est une douille à vis, passe encore, mais une baillonette?
  • # Re: Je commente mon code :

    Posté par . Évalué à 1.

    coder ....
    un rapport avec PGP ??? nan, ca chiffre ... bouaf, j'codes pas
  • # Re: Je commente mon code :

    Posté par . Évalué à 4.

    Je fait du code imbittable que je ne commente pas. Résultat, je suis invirable sinon tout ce que j'ai écrit par à la poubelle.
    • [^] # Re: Je commente mon code :

      Posté par (page perso) . Évalué à 2.

      C'est en s'y prenant comme que l'on montre à son patron de qui on doit se débarasser au plus vite car ça ressemble à une prise d'otages. D'autre part, on peut voir apparaitre un contournement du logiciel "indispensable" et dans ce cas encore les carottes sont cuites.
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 2.

      Invirable mais inchangeable aussi donc tu ne peut pas monter en grade non plus, comdané à rester toujours au même poste avec le même salaire.
  • # Re: Je commente mon code :

    Posté par . Évalué à 1.

    Je suis d'avis que de quelque chose de tres utile mais trop souvent negligé est le pseudo code

    souvent, je repasse sur des fonctions/algos de 500 lignes bourrées de condition dans tous le sens écrite par d autre (les joies du portage)
    ca devient rapidement difficile de saisir l'ensemble , les conditions étant séparé par des montagnes d'autre conditions (l indentation a ses limites)
    avec maintenant les "contract/expand" sur les if, switch et autre, c mieux, mais n empeche qu on peut souvent résumer 400 ligne en 20 ligne de pseudo fait a en 5 min

    sinon, je suis un adorateur des variables explicites et personalisées du genre "int** PtrMarvelousDummyArrayOfArrayOfFabulousIntForStupidFunction" mias mon boss semble moins apprécier, peut-etre qu'il a mal aux pieds
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 2.

      Je ne code pas et j'ai honte

      mon tux :p
    • [^] # Je commente mes tests

      Posté par (page perso) . Évalué à 2.

      Moi, j'utilise la methode Extrem Programming.
      Je n'ai aucun commentaire dans mon code de production. en effet la méthode m'amène à coder proprement (pas de duplication, pas de code mort, une et une seule idée par méthode, conception simple, programmation piloté par les test ...) et donc d'avoir un code trés lisible (n'oublions pas que ces soit-disant commentaires doivent être lu pas des codeurs qui sont suppossé connaitre le langage de programation qu'ils ont sous les yeux). De plus, dans un projet actif, le code est remanier (refactoring) s'en cessent. Qui va maintenir les commentaires qui vont avec ce code remainier. C'est un double travail laborieux. cette situation entraîne la présence de pavé de commentaires qui ne corresponde plus au code en dessous...
      Par contre, je code mes tests unitaires avant de produire ou refactorer le code de prodution. c'est là que je mets des commentaires, pour expliquer mon jeu de test et les subtilisés de la fonctionalité implémenté.
      Les commentaires servent réellement de documentation technique. Les commentaires sont alors facile à maintenir car centralisé dans les tests.
  • # Commenter pour le plaisir

    Posté par . Évalué à 1.

    indexing
      description: "";
      library: "";
      author: "Philip Marlowe";
      copyright: "free of any right";
      license: "none";
      date: "24 septembre 2003";
      revision: "";
    class PARESSE

    feature {ANY} -- libre à tous d'en user et d'en abuser
      ne_rien_faire is
          -- hommage à Paul Lafargue
          -- la paresse est utile : ne_rien_faire permet de déclencher l'exécution d'une once feature
          -- et de créer des objets; elle est donc aussi créative
        do end
    end -- class PARESSE
  • # Re: Je commente mon code :

    Posté par . Évalué à 1.

    a force de bouffer du XML, des standards, des metadonnées ++ j'essaye d'utiliser la semantique dans mes noms de fonctions :

    + le code est clair comme de l'eau de roche, pour tout le monde (FR, IT, US, JA +)
    + la lecture par un non-informaticien est simplifiée
    + commentaires reduits
    + facilite les echanges et donc les rapports humains ; les portages & le travail en équipe.

    - ça prend du temps pour être homogène
    - les collègues trollent beaucoup sur ce sens du détail
    - il faut "connaitre" un peu la sémantique
    - discussion parfois des plus ubuesque.

    Mais à la fin tout le monde est content ; c'est chouette la prog' 8)
  • # Re: Je commente mon code :

    Posté par . Évalué à 0.

    A quand un langage de programmation en langage naturel (ou presque) ?
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 1.

      Si Windev en est un appreçu alors j'espère jamais :D
      • [^] # Re: Je commente mon code :

        Posté par . Évalué à 1.

        Petite rectification: Windev est un IDE et un outil de RAD. Le truc dont tu parles, c'est le W-Langage, fourni avec.

        Ceci étant dit, ça reste un gros langage de merde dans un gros IDE/RADtool de merde et j'espère ne plus jamais avoir à y retoucher. Voilà, c'est dit ;)
  • # Re: Je commente mon code :

    Posté par . Évalué à 1.

    Je ne commente jamais mon code, sauf pour des trucs du style "XXX - TODO : ...".
    Par contre j'essaye de découper les trucs en fonctions simples dont le nom décrit ce qu'elles font.
  • # Re: Je commente mon code :

    Posté par . Évalué à 1.

    Je commente toujours enormément mes sources de manières à ce que doxygen me fasse une belle doc (doxygen.org powa!)

    On m'a fait remarqué à très juste titre que mes fichiers sources c 50% de code et 50% de commentaires.

    Le pire c que j'en suis fier : je publie mes doc d'api générée, et on ne m'a jamais fait de reproche sur le fonctionnement ou le manque de commentaires ^^
    • [^] # Re: Je commente mon code :

      Posté par . Évalué à 1.

      Idem, les enseignants sont souvent ravis de récupérer un code généré automatiquement et ca a tendance a faire monter un peu la note.

      Doxygen est un très bon outil.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.