IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Débat sur l'indentation : Les accolades non alignées


Sujet :

C++

  1. #1
    Membre averti Avatar de icer
    Inscrit en
    Janvier 2006
    Messages
    332
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 332
    Points : 363
    Points
    363
    Par défaut Débat sur l'indentation : Les accolades non alignées
    Une question me turlupine depuis un bon moment.
    Dans la plupart des codes sources, les accolades ouvrantes sont placées en fin de ligne comme dans l'exemple suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(i > 10) {
        i = 0;
        return true;
    }
    Il en est de même dans la plupart des programmes dérivés syntaxiquement du C.

    Pour ma part, cela me pose des problèmes de lecture, car les accolades ne sont pas alignés verticalement. J'ai pris l'habitude de les écrire sur une nouvelle ligne comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(i > 10)
    {
        i = 0;
        return true;
    }
    ainsi on peut 'mieux' distinguer les blocs d'instructions.

    Ma question est:
    Pourquoi la majorité des sources sont écrites sous la première forme?

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Car c'est plus compact (indentation K&R).
    http://en.wikipedia.org/wiki/Indent_style

    C'étaient également les guidelines originelles pour le java, même si l'article dit qu'elles ont changé depuis.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti Avatar de icer
    Inscrit en
    Janvier 2006
    Messages
    332
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 332
    Points : 363
    Points
    363
    Par défaut
    Car c'est plus compact (indentation K&R).
    J'ai lu l'article en effet, c'est plus compact...
    à l'époque il écrivait sur des terminaux de 24 lignes.

    Mais aujourd'hui avec les hautes résolutions, je ne comprend pas pourquoi on cherche a faire des économies de ligne quitte à perdre sur la lisibilité.

  4. #4
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par icer
    Mais aujourd'hui avec les hautes résolutions, je ne comprend pas pourquoi on cherche a faire des économies de ligne quitte à perdre sur la lisibilité.
    La lisibilité est quelque chose de très correllé avec la familiarité.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  5. #5
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Points : 631
    Points
    631
    Par défaut
    Les accolades seules sur une ligne c'est quand meme nettement plus clair, visuellement parlant.

    Donc d'apres moi, si t as pas connu les écrans de 24 colonnes, c'est aussi bien de prendre l'habitude d'aérer ton code.
    Venez partager vos expériences au sein d'un projet sur slicesofit, agile & amélioration continue

  6. #6
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Faiche
    Les accolades seules sur une ligne c'est quand meme nettement plus clair, visuellement parlant.
    Cette ligne quasiment vide séparant des choses liees, je ne la trouve pas si bien que ca...

    Donc d'apres moi, si t as pas connu les écrans de 24 colonnes, c'est aussi bien de prendre l'habitude d'aérer ton code.
    Je te conseille surtout de garder la présentation du projet sur lequel tu travailles. Du point de vue lisibilité, quasiment tout est mieux que de l'inhomogénéité.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  7. #7
    Membre averti Avatar de icer
    Inscrit en
    Janvier 2006
    Messages
    332
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 332
    Points : 363
    Points
    363
    Par défaut
    Cette ligne quasiment vide séparant des choses liees, je ne la trouve pas si bien que ca...


    N'est-ce pas par le vide, par des espaces, qu'on aére son code.

    Les accolades seules sur une ligne c'est quand meme nettement plus clair, visuellement parlant.
    d'acord à 100%

  8. #8
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    Conclusion :

    Une convention soit personnelle (on fait ce qui nous convient le mieux), soit imposé par le projet afin de respecter le code original.

    Pas besoin de polémiquer plus que ça sur la position des accolades AMHA.

  9. #9
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    esai juste de faire un code qui soit le plus possible reutilisable franchement que l'ioncolade soit a la ligne ou non ca importe tres peu moi perso j'aime que tout soit aligné mais voila c un choix! tu peut tout ecrire sur la meme ligne si ca peut tfaire plaisir....
    Rien ne se perd, rien ne se crée, tout se transforme

    ------- -------

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/04/2007, 15h40
  2. [Débat] Utiliser ou pas les frames sur un site ?
    Par nico_web dans le forum Webdesign & Ergonomie
    Réponses: 15
    Dernier message: 12/10/2005, 20h54
  3. Réponses: 4
    Dernier message: 25/04/2005, 15h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo