Espaces
Tabulations
Cela dépend du cas (plus de détails dans les commentaires)
Aucune préférence particulière
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
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.
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.
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..
Seul l'espace assurera un alignement identique chez tous les protagonistes.
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.. };
Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
Un peu de programmation réseau ?
Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.
@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
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.
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.
@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
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.
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 ;-)
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 ...
Ok merci pour l'info !
Pour info sous Eclipse, c'est "Mixed"
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
J'indente en tabulation et en W pour éviter d'avoir à effacer des tonnes de tabulations lorsque le programme n'est pas figé.
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
Consultez mes articles sur l'accessibilité numérique :
Comment rendre son application SWING accessible aux non voyants
Créer des applications web accessibles à tous
YES WE CAN BLANCHE !!!
Rappelez-vous que Google est le plus grand aveugle d'Internet...
Plus c'est accessible pour nous, plus c'est accessible pour lui,
et meilleur sera votre score de référencement !
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 Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« 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 !
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
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.
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.
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.
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).
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
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager