Journal Vous écrivez plutôt ..

Posté par  .
Étiquettes : aucune
0
27
nov.
2003
comme :

1----------------------
if condition { instructions }
2----------------------
if condition {
instructions
}
3----------------------
if condition
{
instructions
}
4----------------------
if condition
{
instructions
}
5----------------------
..
  • # Re: Vous écrivez plutôt ..

    Posté par  . Évalué à 3.

    3

    1 c'est illisible
    4 idem
    2 ça passe (c'est comme ça que code mes collègues)
    • [^] # Re: Vous écrivez plutôt ..

      Posté par  . Évalué à 2.

      Moi aussi pour le 3.

      Par contre le 1 est très utile lorsqu'il n'y a qu'une instruction.
    • [^] # Re: Vous écrivez plutôt ...

      Posté par  . Évalué à 3.

      Pour moi c'est « 3. » aussi.

      Personnellement, je suis toujours étonné lorsque je constate le nombre de coders qui utilisent 2. C'est pour moi ce qu'il y a de plus illisible.

      Au moins avec 3, le bloc d'instruction (assimilé à une seule instruction, principe de l'accolade) est aligné au même niveau que les autres instructions, et seul son contenu est indenté. Et au moins, les accolades ouvrantes sont alignées sur la même colonne que leur homologues fermantes. Pratique lorsque la totalité du bloc n'est pas visible sur une seule page.

      Exceptionnellement, j'utilise 1 lorsque les instructions sont peu nombreuses, et que j'ai plusieurs clauses identiques qui se suivent. Cela permet d'aligner les cas sur les lignes du programmes, et de mettre les multiples effets dans des colonnes.
      • [^] # Re: Vous écrivez plutôt ...

        Posté par  . Évalué à 2.

        A mon avis,

        1. c'est croire que le mélange de genres va faciliter la compréhension: Tout en vrac. C'est un peu comme si à Noël on te balançait tes cadeaux en un gros tas d'un coup. D'un côté c'est sympa, tu sais que tu peux déballer l'ensemble et que tout est pour toi/dit. De l'autre, mine de rien tu ne sais pas par où commencer ;o))

        < moi j'vous l'dis mon bon monsieur >
        3. et 4. c'est pour les p'tits jeunes qui n'ont jamais connu que le mode graphique et l'éditeur fenêtré redimensionnable sans avoir à respecter des règles strictes de programmation.
        A mon époque, avec l'impératif de faire tenir une procédure/fonction/callback/XXX sur une page écran en 80x25, une ligne de gagnée c'était une ligne de gagnée.
        De nos jours les ressources étant considérées comme amplement suffisantes, on gaspille...
        < / moi j'vous l'dis mon bon monsieur >
    • [^] # Re: Vous écrivez plutôt ..

      Posté par  . Évalué à 1.

      Pareil le 3.
      C'est une question de lisibilité et de gout perso
    • [^] # Re: Vous écrivez plutôt ..

      Posté par  (site web personnel) . Évalué à 2.

      1 ah la bonne blague
      2 quand je code en Java
      3 en C et C++
      4 j'ai jamais compris l'intérêt
  • # Re: Vous écrivez plutôt ..

    Posté par  (site web personnel) . Évalué à 3.

    Pour moi, c'est 2 :

    * 1, pas clair quand y'a plein de test
    * 3 & 4, "trop" de blanc

    voili voilou mais je pense que les tab et les indentations, c'est comme les gouts et les couleurs : chacun son truc (quand y'a pas de norme strict)
  • # Re: Vous écrivez plutôt ..

    Posté par  . Évalué à 2.

    Choix numéro 2, mais avec seulement 4 espaces d'identation.

    Je code en Java, et comme c'est les recommandations de Sun beaucoup de monde indente comme ça en Java. Donc quand tu es habitué c'est plus sympa pour lire le code des autres. Voila.

    Et pis l'identation de 4 espaces, c'est par defaut dans Emacs. Donc pas besoin de trifouiller la config.
  • # Re: Vous écrivez plutôt ..

    Posté par  . Évalué à 0.

    5 : M'en fous j'ai pas d'accolades dans mon langage :D
  • # Re: Vous écrivez plutôt ..

    Posté par  (site web personnel) . Évalué à 4.

    2. C'est les kernel coding guidelines
    même si je code pas le kernel, c'est super lisible, que ça soit en c++, php etc...
    (bon, pas en templeet, mais bon... :)
    et pitie laissé des tabs dans vos fichiers !!!
    • [^] # Re: Vous écrivez plutôt ..

      Posté par  . Évalué à 2.

      Tiens j'en profite pour raler en public à propos des Tabs !

      Perso j'utilise des indentations de 4. Donc je met 4 espaces. L'argument habituel pour les Tabs, c'est que si quelqu'un prefere visualiser avec une indentation de 2, 8 ou 16, il a juste a changé l'affichage des tabs dans son editeur pour que tout soit reformaté de façon transparente.
      Sauf qu'il y a des cas où ça ne marche pas, quand on aligne sur plusieurs lignes des arguments:
      Supposons que j'indente avec des Tabs de 4 (symbolisées par ----) (et les espaces par _) le code suivant:
      ---- ---- if ( __(cond1 && cond2)
      ---- ---- ----|| (cond3 && cond4)
      ---- ---- ----|| (cond5 && cond6) ) { ...

      Si quelqu'un prefere des tabs de 8 ou de 2, tout le bel alignement est cassé, puisque la 3eme tabs n'a plus la largeur du "if (".

      Pour ce genre de truc, il faudrait que l'indentation "de code" soit en Tabs, et l'indentation "d'alignement" soit 4 espaces reels. Mais peut-être que j'ai pas assez cherché avec emacs; si quelqu'un me l'indique, je suis pret à reviser mon jugement.

      (Quoique, je lis aussi beaucoup de code avec "less" ou "cvs diff", et je ne peux pas changer la largeur de Tab de mon xterm à tout bout de champ !)
      • [^] # Re: Vous écrivez plutôt ..

        Posté par  . Évalué à 5.

        La solution est de ne plus fréquenter les gens qui considèrent qu'une tabulation n'a pas forcement une taille de 8 espaces. (ils n'en valent pas la peine)
  • # Re: Vous écrivez plutôt ..

    Posté par  . Évalué à 1.

    Choix 2. Comme le CodingStyle de Linus :) rappel :

    First off, I'd suggest printing out a copy of the GNU coding standards,
    and NOT read it. Burn them, it's a great symbolic gesture.


    Et une indentation de base de 4 espaces. Y a 5 ans c'etait 2... Je suppose que quand ma vue baissera encore, ce sera 8...
  • # Re: Vous écrivez plutôt ..

    Posté par  . Évalué à 2.

    Il semblerait que la 2 apparaisse dans plusieurs conventions (Sun, kernel) d'après ce que vous dites. C'est bizarre je ne l'apprécie pas du tout celle-là ; sur plusieurs niveaux de blocs, je ne la trouve pas lisible pour facilement les repérer.
  • # Re: Vous écrivez plutôt ..

    Posté par  (site web personnel) . Évalué à 1.

    2

    - Recommandation Sun (Java),
    - Recommandation K&R,
    - Recommandation à moi car le plus lisible à mon goût :)

    1 : bonjour la longueur de la ligne
    3 : L'accolade sur la 2ème ligne fait double emploi avec le retrait
    4 : On voit mal où se termine le retrait dans beaucoup de code
    5 : Où est le code ?

    L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

    • [^] # Re: Vous écrivez plutôt ..

      Posté par  . Évalué à 2.

      5 : Où est le code ?

      l'option 5 est prévue pour d'autres possibilités, je suis open :)
      • [^] # Re: Vous écrivez plutôt ..

        Posté par  (site web personnel) . Évalué à 7.


        if (
        condition
        )
        {
        instruction }


        C'est bô !! On dirait les sources du The Hurd

        ->[]

        L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

    • [^] # Re: Vous écrivez plutôt ..

      Posté par  . Évalué à 1.

      Indentation 2 également.
      Mais bon, je m'adapte quand je dois lire du code "étranger" ;-))
      Mon prof de prog nous encourageait à la la lisibilité (ben tiens), mais aussi et surtout à la cohérence (on choisit son style, et on s'y tient crénom !).
      En même temps, vive indent pour faire ce que l'on souhaite ;-))
  • # Re: Vous écrivez plutôt ..

    Posté par  . Évalué à 3.

    Avec Python, pas trop le choix, comme ça, tout le monde est content :)
    -----------------------------
    ...
    if condition:
          instructions
    ...
    -----------------------------

    Quoique on peut aussi le voir comme ça pour une seule instruction:
    ------------------------------
    ...
    if condition: instruction
    ...
    ------------------------------
    • [^] # Re: Vous écrivez plutôt ..

      Posté par  . Évalué à 1.

      Ouais je suis d'accord =)

      Python c'est vraiment cool.
      Mais par contre, ça ne remplace vraiment pas le C/C++ pour des traitements lourds avec beaucoup de mémoire à utiliser. J'ai tenté hier: échec...

      Avec le C/C++ tu sais exactement comment tu manipules la mémoire et c'est parfois un gros avantage!
  • # Re: Vous écrivez plutôt ..

    Posté par  . Évalué à 1.

    http://www.gnu.org/prep/standards_25.html(...)

    Apparemment eux c'est un mix entre 3 et 4...

    En ce qui me concerne:
    * pour les fonctions, c'est 3
    * pour les ifs sur 1 ligne c'est 2
    * pour les ifs sur plusieurs lignes c'est 3

    void main()
    {
    }

    if( a == 0 ) {
    }

    if( a == 0
    && b == 1 )
    {
    }

    En fait, je suis un adepte du folding de VIM or pour les ifs sur plusieurs lignes, si j'utilise la convention 2, le folding est crade...
    Des suggestions?

    Sinon en ce qui concerne les tabs, vous les remplacez automatiquement par des espaces avec l'éditeur ou vous gardez les tabs?

    Voilà, c'est comme ça que je code en général sauf quand je dois me plier aux conventions d'un projet...

    Ce sujet m'intéresse, donc si vous avez des liens n'hésitez pas...
    • [^] # Re: Vous écrivez plutôt ..

      Posté par  (site web personnel) . Évalué à 2.

      Pour les tabs, une règle d'or : huit espaces pour un vrai caractère tab. Si tu veux des indentations (pas confondre avec tabulations) d'un autre nombre de caractères, alors c'est à ton éditeur de gérer intelligemment le mix d'espaces et de tabulations, ou bien de tout mettre en espaces.

      Heureusement, Vim gère tous les cas de figure, avec les options tabstop (ne pas changer celle-là, laisser à 8), shiftwidth, softtabstop et expandtab. (En abrégé respectivement ts, sw, sts, et.)

      Pour utiliser des tabulations de 8 caractères et des indentations de 4 : ts=8 sw=4 sts=4
      Pour n'utiliser que des espaces et des indentations de 4 : ts=8 sw=4 sts=4 et
      Pour convertir un texte qui utilisait des tabulations diaboliques :

      :set ts=4 sw=4 sts=4 (à adapter selon ce qui a été utilisé pour créer le texte)
      :set et
      :retab!
      :set ts=8 noet
      :retab!
  • # Re: Vous écrivez plutôt ..

    Posté par  . Évalué à 2.

    les équivalents :
    { instructions }if condition
    ou
    [[ condition ]] && instruction || instruction

    sinon 2 parce que
    if
    condition { instructions
    }
    ça devient vraiment crade et le compilo/interpréteur ne comprends pas )))))

    Dernièrement c'était plutôt comme ça d'ailleurs :
    < j:if test="condition" >
    .. < exec executable="instruction"/>
    .. < j:set var="name" value="instruction" />
    < / j:if >

    mais ceci est une autre histoire...


    < PUB >
    .. Maven is beautifull (http://maven.jakarta.org/(...))
    < / PUB >
  • # Re: Vous écrivez plutôt ..

    Posté par  . Évalué à 3.

    Réponse : ON S'EN FOUT ! parce que...

    un petit coup de indent, et chacun fait comme il veut :-)
  • # Commentaire supprimé

    Posté par  . Évalué à 2.

    Ce commentaire a été supprimé par l’équipe de modération.

  • # Re: Vous écrivez plutôt ..

    Posté par  . Évalué à 2.

    Pour moi ca sera le 2 aussi.

    Trop de place "perdu" dasn le 3, j'aime pas que mon code ressemble a
    un gruyere.

    Le 4, j'ai jamais réussi a lire un code indenter ainsi.

    Et le 1 c'est illisible tout simplement et pour tout le monde.

Suivre le flux des commentaires

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