Affichage des résultats du sondage: Qu’est-ce que vous préférez utiliser pour indenter vos programmes ? Pourquoi ?

Votants
91. Vous ne pouvez pas participer à ce sondage.
  • Espaces

    30 32,97%
  • Tabulations

    52 57,14%
  • Cela dépend du cas (plus de détails dans les commentaires)

    7 7,69%
  • Aucune préférence particulière

    2 2,20%
+ Répondre à la discussion Actualité déjà publiée
Page 3 sur 4 PremièrePremière 1234 DernièreDernière
  1. #41
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    mars 2004
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2004
    Messages : 2 096
    Points : 4 223
    Points
    4 223

    Par défaut

    Citation Envoyé par Logan Mauzaize Voir le message
    Pour Java la grande majorité des conventions de style préconisent l'espace, il n'y a donc rien de surprenant.
    Ah bon ?

    Pour l'instant je suis toujours tombé sur des projets où le formatteur était réglé sur les tabulations (et heureusement parce que je suis maniaque ^^).

  2. #42
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    février 2010
    Messages
    2 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : février 2010
    Messages : 2 055
    Points : 4 725
    Points
    4 725

    Par défaut

    J'ai une légère préférence pour les espaces, vu que j'affiche les caractères non-imprimable. Le point d'une espace m'agresse moins les yeux que la grosse flèche d'une tabulation, mais c'est vraiment très mineur.
    Si certains se demandent pourquoi je les affiche... bah, j'ai déjà eu des p'tits soucis avec des caractères invisibles sur des codes sources et fichiers textes, donc j'ai gardé l'habitude depuis.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #43
    Membre émérite
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    2 690
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 690
    Points : 2 497
    Points
    2 497

    Par défaut

    Citation Envoyé par Logan Mauzaize Voir le message
    De mon point de vue, paramètre1 devrait être sur une nouvelle ligne et donc indenté. C'est le seul moyen d'aligner correctement.
    Ce n'est donc qu'un point de vue, donc subjectif.
    Et l'autre moyen d'aligner correctement, c'est d'utiliser les espaces.
    VDS "The C++ Standard Library" (Josuttis) -> 20 €

  4. #44
    Expert éminent Avatar de Uther
    Homme Profil pro
    Inscrit en
    avril 2002
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 3 468
    Points : 7 993
    Points
    7 993

    Par défaut

    Personnellement je trouve les tabulations sont théoriquement bien mieux : ça respecte une certaine logique et permet d'adapter directement le code a l'espacement souhaité.

    Le problème c'est que dans un projet impliquant beaucoup de monde, on va fatalement arriver à un point ou des personnes n'appliquent pas correctement la différenciation entre indentation et alignement et a la longue, ça devient le bordel. L'espacement c'est que c'est plus simple à appréhender pour les utilisateurs, et ça pose généralement moins de problème à gérer avec les outils comme les IDE.

  5. #45
    Candidat au Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    septembre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2016
    Messages : 1
    Points : 3
    Points
    3

    Par défaut

    Citation Envoyé par Logan Mauzaize Voir le message
    Je suis tout de même surpris que les fichiers Go soient jamais (ou en tout cas que la quantité soit négligeable) indentés avec des espaces. Quelqu'un aurait des explications ?
    En Go, la plupart des développeurs (presque tous à ma connaissance) utilisent les outils officiels fournis avec le langage pour formater le code. C'est très pratique pour garder la même norme de codage quelque soit les éditeurs / les gens / les habitudes. En gros tu fait ton code puis "go fmt *" et ton code sera normaliser comme il se doit.

  6. #46
    Rédacteur/Modérateur

    Homme Profil pro
    Network game programmer
    Inscrit en
    juin 2010
    Messages
    4 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : juin 2010
    Messages : 4 132
    Points : 15 282
    Points
    15 282

    Par défaut

    Si c'est juste pour de l'indentation, la tabulation sera préférable parce que chacun peut paramétrer sa taille localement.
    Les problèmes débutent quand on mélange les 2 pour indenter et aligner les lignes..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class T
    {
    	public:
    		void toto(int i,
    				int j) // et là c'est la casse..
    };
    Seul l'espace assurera un alignement identique chez tous les protagonistes.

  7. #47
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    novembre 2012
    Messages
    3 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2012
    Messages : 3 124
    Points : 9 127
    Points
    9 127

    Par défaut

    @Uther: Je ne comprends pas ce raisonnement de nivellement par le bas. La difficulté ce n'est pas de comprendre la règle d'indentation, on est tous capable de comprendre comment indenter avec des tabulations ou des espaces sinon il faut changer de métier. Non, la difficulté c'est que peu importe la convention choisie, il faut s'assurer qu'elle soit respectée par tous. Et plus l'équipe est grande, plus il est important de fixer ce cadre de travail. Donc ma recommandation c'est: environnement de travail homogène + conventions de développement + outillage de qualité de code. C'est ce que j'ai mis en place en tant que lead dev dans une équipe de 6 personnes, et le fait d'avoir opté pour les smart tabs n'a eu aucune incidence jusqu'ici. A voir ce que ça donne avec 20 personnes ou plus, mais il ne faut surtout pas tomber dans le laxisme. Pour reprendre le thème récurrent "easy vs simple", la simplicité implique beaucoup de rigueur et de contraintes, ce que les gens ont tendance à réfuter en confondant simplicité et facilité.
    One Web to rule them all

  8. #48
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2007
    Messages : 18
    Points : 13
    Points
    13

    Par défaut

    Perso je préfère les espaces, surtout quand plusieurs personnes travaillent sur le même code source avec des éditeurs différents. Sans compter que certaines personnes ne se prennent pas la tête et ne configure pas leur éditeur, ce qui donne des sauvegardes qui pourrissent l'indentation.
    J'aime pas non plus l'indentation automatique. Sur un code mal indenté initialement, l'indentation automatique peut rendre les merges fastidieux.
    Et je ne suis pas d'accord avec l'argument de chacun règle sa tabulation pour avoir la vision qui lui plait, ça donne souvent des résultats bizarres si le réglage n'est pas celui utilisé initialement. Donc plutôt partisan du 100% espaces.

  9. #49
    Expert éminent Avatar de Uther
    Homme Profil pro
    Inscrit en
    avril 2002
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 3 468
    Points : 7 993
    Points
    7 993

    Par défaut

    Je suis d'accord que c'est du nivellement par le bas, mais un code bien indenté avec des espace reste mieux qu'un code avec une mauvaise indentation.

    C'est moins un problème de taille d'équipe que de stabilité. J'ai travaillé dans des équipes même plus petites mais où les personnes bougeaient beaucoup, et où on récupérait des projets venus d'autres équipes, parfois dans d'autres pays, ... Dans ces cas là,tu fais au plus simple pour être productif le plus vite. Et si tu veux être sur que les conventions que tu prends soient respectées, il vaut mieux qu'elles soient simples et sans risque d'erreur.

  10. #50
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    novembre 2012
    Messages
    3 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2012
    Messages : 3 124
    Points : 9 127
    Points
    9 127

    Par défaut

    @dagos: si ça donne des résultats bizarres quand tu changes le réglage de la taille de tabulation, c'est que les développeurs ont utilisé les tabulations pour l'alignement, ce qui est bien sûr à éviter.

    @Uther: au plus simple != au plus facile
    One Web to rule them all

  11. #51
    Nouveau Candidat au Club
    Inscrit en
    septembre 2003
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : septembre 2003
    Messages : 1
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par Logan Mauzaize Voir le message
    Je suis tout de même surpris que les fichiers Go soient jamais (ou en tout cas que la quantité soit négligeable) indentés avec des espaces. Quelqu'un aurait des explications ?
    Les devs Go utilisent GoFmt pour mettre en forme le code, ce qui permet de standardiser et de faciliter la lecture du code par autrui.
    La plupart des IDE pour Go exécutent GoFmt lors de l'enregistrement des fichiers sources et toute l'indentation est alors générée automatiquement avec des TABs.
    C'est très pratique pour ne pas perdre de temps sur la mise en forme et j'en viens même à regretter que ça n'existe pas sur les IDE de d'autres langages.

  12. #52
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    août 2005
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : août 2005
    Messages : 2 858
    Points : 6 898
    Points
    6 898

    Par défaut

    Citation Envoyé par Loceka Voir le message
    Pour l'instant je suis toujours tombé sur des projets où le formatteur était réglé sur les tabulations (et heureusement parce que je suis maniaque ^^).
    Mea Culpa, je pensais que les conventions Eclipse utilisaient l'espace. Néanmoins dans toutes mes expériences c'est toujours l'espace qui a été utilisé comme les recommendations Sun ;-)

    Citation Envoyé par oodini Voir le message
    Ce n'est donc qu'un point de vue, donc subjectif.
    Et l'autre moyen d'aligner correctement, c'est d'utiliser les espaces.
    Oui, c'est pour ça que j'ai bien précisé. C'est une solution que j'ai trouvé pour ne pas avoir de cas spécial "indentation". Et puis j'ai toujours trouvé ça plus logique de considérer les premiers arguments au même titre que les suivants, j'aime bien quand c'est plus homogène ^^

    Mais les goûts et les couleurs ...

    Citation Envoyé par Apocalypse_555 Voir le message
    En Go, la plupart des développeurs (presque tous à ma connaissance) utilisent les outils officiels fournis avec le langage pour formater le code. C'est très pratique pour garder la même norme de codage quelque soit les éditeurs / les gens / les habitudes. En gros tu fait ton code puis "go fmt *" et ton code sera normaliser comme il se doit.
    Ok merci pour l'info !

    Citation Envoyé par SylvainPV Voir le message
    le fait d'avoir opté pour les smart tabs n'a eu aucune incidence jusqu'ici
    Pour info sous Eclipse, c'est "Mixed"

    Citation Envoyé par mlgd Voir le message
    C'est très pratique pour ne pas perdre de temps sur la mise en forme et j'en viens même à regretter que ça n'existe pas sur les IDE de d'autres langages.
    Nul doute que cela existe sous IntelliJ&co, VS, etc. mais sous Eclipse c'est "Save actions".
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  13. #53
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS
    Inscrit en
    avril 2013
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 1 306
    Points : 4 308
    Points
    4 308
    Billets dans le blog
    6

    Par défaut

    Citation Envoyé par Logan Mauzaize Voir le message
    Nul doute que cela existe sous IntelliJ&co, VS, etc. mais sous Eclipse c'est "Save actions".
    sur IntelliJ par défaut on à des espaces de 4, mais systématiquement je met les tabs ^^

  14. #54
    Membre habitué

    Homme Profil pro
    Débutant OpenOffice et Poo
    Inscrit en
    février 2015
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Débutant OpenOffice et Poo
    Secteur : Industrie

    Informations forums :
    Inscription : février 2015
    Messages : 126
    Points : 146
    Points
    146

    Par défaut

    J'indente en tabulation et en W pour éviter d'avoir à effacer des tonnes de tabulations lorsque le programme n'est pas figé.

  15. #55
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    octobre 2013
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2013
    Messages : 264
    Points : 694
    Points
    694

    Par défaut

    Citation Envoyé par Logan Mauzaize Voir le message
    Regardes du côté de Ruby ou Crystal
    Je ne suis pas forcément contre l'idée de faire du Rubye
    Je 'n'ai jamais regardé à quoi ça ressemblait.

    C'est juste que je veux faire du scripting avec Java.
    Et que je n'ai que deux solutions à ma connaissance Nashorn avec Javascript et Jython avec Python

    De plus j'ai prévu de faire des scripts pour un logiciel, qui utilise aussi Python.
    Je veux faire d'une pierre deux coups.
    A propos des accolades, j'ai eu une mauvaise expérience .
    Je n'en mettais pas sur les bloques d'une seule lignes.
    je m'en suis mordus les doigts, quand j'ai rajouté des lignes hors du bloque forcément sans faire attention, 'ai je n'ai pas trouvé de suite le problème

  16. #56
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    14 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 14 730
    Points : 28 264
    Points
    28 264
    Billets dans le blog
    1

    Par défaut

    Tabulations pour moi parce que c'est plus facile de retrouver la tabulation d'origine.
    Combien ai-je vu de programmes mal indentés avec des espaces et combien ai-je perdu de temps à cause de ça ? !!!
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  17. #57
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    août 2005
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : août 2005
    Messages : 2 858
    Points : 6 898
    Points
    6 898

    Par défaut

    Citation Envoyé par CoderInTheDark Voir le message
    C'est juste que je veux faire du scripting avec Java.
    Et que je n'ai que deux solutions à ma connaissance Nashorn avec Javascript et Jython avec Python
    En fait tu en as beaucoup d'autres : JRuby, Clojure, Groovy.

    Le mieux c'est de faire une recherche sur les langages alternatifs de la JVM qui implémente la JSR 223.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  18. #58
    Membre émérite
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    2 690
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 690
    Points : 2 497
    Points
    2 497

    Par défaut

    Contrairement à ce que déclaraient certains contributeur au début de ce sujet, le débat est semble-t-il loin d'être éculé, et il devrait encore être présent dans 10 ans.
    VDS "The C++ Standard Library" (Josuttis) -> 20 €

  19. #59
    Membre émérite Avatar de air-dex
    Homme Profil pro
    Inscrit en
    août 2010
    Messages
    1 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations forums :
    Inscription : août 2010
    Messages : 1 347
    Points : 2 810
    Points
    2 810

    Par défaut

    Les espaces dans les indentations sont comme les bises quand on se dit bonjour : personne n'en fait jamais le même nombre. Tandis qu'avec les tabulations tu n'as toujours qu'un seul et unique \t dans tous les cas. Une indentation = une tabulation, et vice-versa. Partant de là le choix est vite fait : vive la tabulation !

    Mais je reconnais cependant que ceci est moins un problème dans les projets où il est convenu que l'indentation se fait avec un nombre fixe d'espaces (souvent 4). C'est bien le seul cas où il faut utiliser les espaces.

    Citation Envoyé par Madmac Voir le message
    La tabulation devrait-être la norme. Tout simplement parce que cela permet de personnaliser l'indentation du code selon les préférences personnelles des individus sans que cela affecte le code.
    Permettre ce genre de flexibilité est une délicatesse que me semble normal entre collaborateurs

    De plus, avec des langages comme python, oublie un espace d'un caractère est difficile à repérer.
    Un bon éditeur de texte ou EDI a normalement une option te permettant de visualiser les espaces et/ou les tabulations. Après comme le dit @CoderInTheDark c'est bien aussi de mettre des commentaires pour signaler la fin des blocs.

    Citation Envoyé par mlgd Voir le message
    Les devs Go utilisent GoFmt pour mettre en forme le code, ce qui permet de standardiser et de faciliter la lecture du code par autrui.
    La plupart des IDE pour Go exécutent GoFmt lors de l'enregistrement des fichiers sources et toute l'indentation est alors générée automatiquement avec des TABs.
    C'est très pratique pour ne pas perdre de temps sur la mise en forme et j'en viens même à regretter que ça n'existe pas sur les IDE de d'autres langages.
    Un bon IDE sait formater le code à la sauvegarde, que ce soit du Go ou pas. Donne lui ta convention de codage (PEP 8, PSR-2, celle de Sun/Oracle pour Java, celle respectée par GoFmt, ta convention perso ou celle qui a été décidée pour le projet...) et il la respectera, point barre.
    "Ils ne savaient pas que c'était impossible alors ils l'ont fait." Mark Twain

    Mon client Twitter Qt cross-platform Windows et Linux. (en cours de développement).

  20. #60
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    juillet 2013
    Messages
    1 918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : juillet 2013
    Messages : 1 918
    Points : 4 219
    Points
    4 219

    Par défaut

    Citation Envoyé par Steinvikel Voir le message
    en revanche je ne connais pas de logiciel gérant l'indentation par paragraphe à l'aide d'espaces... alors que par tabulation oui
    Avec Visual (2010 - 2013), tu as la sélection rectangulaire (*) qui fonctionne correctement lors de l'ajout d'espaces: c'est facile
    Avec C++ Builder XE, tu as la sélection rectangulaire qui ne sert que pour la suppression et les tabulations

    * -> Shift + Alt + flèches


    Citation Envoyé par Steinvikel Voir le message
    (qui sont automatiquement remplacé par des espace si paramétré comme tel >> npp)
    Avec C++ Builder XE (par défaut), le seul truc de bien c'est que lorsque tu es sur une ligne, il remplace automatiquement les espaces de début de ligne par des tabulations et supprime tous les espaces de fin de ligne (tiens je ne sais pas pour les tabulations de fin de ligne).

    Oui je suis un taré , je code en affichant en permanence les espaces et les tabulations visibles.


    Édit : Steinvikel, Trop débile le gars il a effacé son message qui était avant moi pour le reposter après moi.
    Dans les années 2000, il y avait des concours de preum's, des concours de centage (écrire un message sans édition avec cent ou sans ou "autre approchant phonétiquement de 100" pour un message ayant un numéro multiple de 100) et ... encore des concours du dernier message

Discussions similaires

  1. Est ce que on peut utiliser mysql5 en production
    Par amika dans le forum Installation
    Réponses: 7
    Dernier message: 12/09/2005, 15h21
  2. qu'est-ce que les design pattern ?
    Par airseb dans le forum Design Patterns
    Réponses: 1
    Dernier message: 23/11/2004, 08h02
  3. Est-ce que les fichiers .obj sont tous les mêmes?
    Par Bubonik software dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 30/12/2003, 21h04
  4. Réponses: 3
    Dernier message: 19/07/2002, 15h01

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