Formattage code source : tab ou espace pour indenter ? [JAVA] - Java - Programmation
Marsh Posté le 10-09-2003 à 10:53:43
noldor a écrit : Quels sont les avantages de chacun ? Qu'utilisez-vous et pourquoi ? |
Indentation automatique d'emacs...
Tu codes avec quoi?
Marsh Posté le 10-09-2003 à 10:54:30
Ca dépend de la facon dont le logiciel gère les tabulations (+ ou - grandes)
J'essaye de mettre 4 espaces a chaque fois (mais je ne respècte pas tout le temps la règle.
Voila les règles conseillées par Sun :
http://java.sun.com/docs/codeconv/index.html
Marsh Posté le 10-09-2003 à 10:55:11
skeye a écrit : |
Eclipse
Marsh Posté le 10-09-2003 à 10:58:23
perso je mets des tabs. comme ca, ceux qui veulent 2, 3 ou 4 espaces d'indentation ont juste à changer l'affichage d'une tab ...
Marsh Posté le 10-09-2003 à 11:00:16
Je m'en fout un peu, mais quand on en choisit un, on s'y tient. Le mix espace/tab est catastrophique quand on change d'éditeurs.
Marsh Posté le 10-09-2003 à 11:01:59
kadreg a écrit : Je m'en fout un peu, mais quand on en choisit un, on s'y tient. Le mix espace/tab est catastrophique quand on change d'éditeurs. |
Marsh Posté le 10-09-2003 à 11:03:43
benou a écrit : perso je mets des tabs. comme ca, ceux qui veulent 2, 3 ou 4 espaces d'indentation ont juste à changer l'affichage d'une tab ... |
+1, y compris la possibilité de pouvoir transformer, si nécessaire, les tab en espace, ce qui n'est pas le cas dans l'autre sens.
Marsh Posté le 10-09-2003 à 11:19:18
espaces only. par coup de 4 (ou 2 dans les docs xml )
à la limite un tab en mode standard (l'équivalent de 8 espaces), mais ça chie dans la colle pour les diffs et autres cvsview
(surtout quand un connard à décidé d'utiliser un éditeur qui transforme automatiquement les tabs en espaces. et inversement d'ailleurs)
Marsh Posté le 10-09-2003 à 11:22:24
gizmo a écrit : |
Bah si, on peut le faire dans l'autre sens. Avec vim par exemple.
PS : ne venez jamais coder du python avec moi svp
Marsh Posté le 10-09-2003 à 16:24:30
benou a écrit : perso je mets des tabs. comme ca, ceux qui veulent 2, 3 ou 4 espaces d'indentation ont juste à changer l'affichage d'une tab ... |
Si tu veux une indentation toujours correcte avec des tabulations réglables, c'est super galère, il faut mélanger les tabs et les espaces finement. Exemple, si tu utilises des tabs :
Code :
|
devient
Code :
|
lorsque quelqu'un raccourcit la taille de tes tabs, ou alors :
Code :
|
pour quelqu'un qui les rallonge.
Sans compter que tu trouveras toujours des logiciels pour lesquels les tabs font toujours et quoi qu'il arrive 8 caractères, donc si tu utilises une indentation de 4 espaces par des tabs, le programme devient difficilement lissible dans ces programmes-là.
Moralité, à part pour les fichiers XML ou XSL, j'utilise exclusivement des espaces.
De toute façon, le gain d'espace sur disque à utiliser des tabs (raison originelle de l'utilisation des tabs en programmation) est aujourd'hui infime, vus les disques durs dont on dispose à l'heure actuelle. Et la plupart des éditeurs modernes, d'une part, permettent de faire voyager le caret à l'intérieur des tabs comme s'il s'agissait d'espaces, et d'autre part, rendent l'indentation aussi facile avec des espaces qu'avec des tabs (à moins d'utiliser sed, évidemment... )
Marsh Posté le 10-09-2003 à 17:03:29
BifaceMcLeOD a écrit :
|
Code :
|
edit : cf : http://java.sun.com/docs/codeconv/ [...] .doc3.html en bas
Marsh Posté le 10-09-2003 à 18:29:37
De toute façon, quand t'as un IDE digne de ce nom, tu ne fais pas comme dans un seul de tes exemples. Tu tapes toute ta condition sur une seule ligne et ensuite, tu demande à l'éditeur de tout remettre en forme à la fin. Tu perds pas ce temps à compter des espaces à la con.
Marsh Posté le 10-09-2003 à 18:37:08
gizmo a écrit : |
d'une part, l'ide digne de ce nom fera le retour ligne au bon endroit; d'autre part, j'aime bien que mon code soit lisible au fur et a mesure que je le tape
Marsh Posté le 10-09-2003 à 18:47:50
il es lisible, même si tu tapes tout sur une seule ligne. Bon évidemment, si tu travailles sur un 12", c'est vrai que ca devient rude, mais bon...
Marsh Posté le 10-09-2003 à 19:16:43
gizmo a écrit : il es lisible, même si tu tapes tout sur une seule ligne. Bon évidemment, si tu travailles sur un 12", c'est vrai que ca devient rude, mais bon... |
meme sur un 19" full screen je trouverais ça plus lisible sur 2 lignes que sur une ligne qui prend toute la largeur.
de plus, dans mon ide digne de ce nom, sur la gauche j'ai mon arbo classes/fichiers, sur la droite mes tasks ant, etc
Marsh Posté le 11-09-2003 à 09:37:54
the real moins moins a écrit : meme sur un 19" full screen je trouverais ça plus lisible sur 2 lignes que sur une ligne qui prend toute la largeur. |
sur le mien aussi
Marsh Posté le 11-09-2003 à 12:37:32
gizmo a écrit : |
Je n'ai jamais compté un seul espace de ma vie, et je n'ai pas l'intention de commencer. Mais on voit bien que tu n'as jamais bossé dans des environnements hétérogènes. Quand on écrit un fichier et qu'on le retrouve une demi-heure plus tard complètement illisible dans un second environnement parce que le second environnement a une interprétation légèrement différente des tabs, ça agace ; et au bout de 10 fois, ça énerve grave et on se résoud à utiliser le dénominateur commun. En l'occurence, il n'y en a qu'un (en horizontal) : le caractère d'espacement. On tape sur "Tab" et l'IDE insère tous les espaces qu'il faut pour aligner sur la ligne précédente ou incrémenter/décrementer le niveau d'indentation par rapport à celle-ci.
Et puis comme the real--, je préfère que mon programme soit lisible dès le moment où je le tape, ne serait-ce que parce que je relis sans cesse le code que je viens d'écrire (ça évite beaucoup de bugs...). Et dans mes programmes, les identificateurs sont suffisamment significatifs et les problématiques suffisamment complexes pour que mes exemples que soient significatifs.
benou> La convention de code que tu donnes a un énorme défaut dans le cas qui nous intéresse : elle ralentit largement la lecture verticale du code.
Si tu fais bien attention à l'exemple que j'ai donné, il y avait une symétrie volontaire entre les 2 longues sous-conditions. Avoir à combiner 2 sous-conditions légèrement différents dans la même condition est un cas courant en programmation de haut niveau, et en particulier en Java. Or pouvoir les aligner met en évidence qu'elle sont proches et met aussi en évidence ce qu'elle ont de différent.
Du coup, pour lire toute la condition, il te suffit d'en lire la première moitié, et un seul coup d'oeil supplémentaire te permet de comprendre la seconde sans avoir à la lire.
Ce que la convention de présentation du code que tu donnes masque complètement.
Or la lecture verticale est un moyen très efficace de comprendre rapidement un morceau de code, et une présentation du code efficace est celle qui permet une lecture verticale du code rapide tant en ne loupant rien des subtilités de ce code.
Marsh Posté le 11-09-2003 à 14:56:00
BifaceMcLeOD a écrit : |
Ca c'est ce que tu penses !
moi ce que je pense c'est que dans ce genre de conditions, le plus important c'est les opérateurs et que donc, les reléguer en fin de ligne est très lors du déchifrage.
Et puis je dirais presque que là n'est pas la question : y a autant d'habitude de codage que de développeur. Elles ont chacune leurs avantage et inconvénients, le tout n'étant d'ailleur qu'une question d'habitude la plupart du temps. Bref, y a pas 36 façon pour faire du code facilement lisible par TOUT le monde, il tosu écrire de la même façon. Alors plutot que de choisir la méthode de Mr Tartempion, je préfère choisir celle fournie avec le langage que j'utilise.
Je dirais preqsue que c'est pas une question de choix personnel... Tu veux faire du code facilement reprenable, maintenable, etc ... bha tu suis la convention standardisée, qu'elle te plaise ou non.
Marsh Posté le 11-09-2003 à 14:58:28
benou a écrit : |
y'a plein de projets opensource (sur jakarta notamment) qui utilise explicitement la convention C-style pour les { }
(que j'aime pas du tout mais ça c'est une autre histoire)
Marsh Posté le 11-09-2003 à 15:02:30
Vous battez pas. Et comme ça, ça vous iras ?
Code :
|
Code :
|
?
Edit : ce forum ajoute des espaces on ne sait trop ou
Marsh Posté le 11-09-2003 à 15:31:27
Kristoph a écrit : Edit : ce forum ajoute des espaces on ne sait trop ou |
ouais j'ai pas encore trouvé la logique du machin
mais nan, tes notations je les aime pas trop
Marsh Posté le 11-09-2003 à 15:41:25
benou a écrit : |
Ouais, je suis pas très satisfait moi même. En fait, ça passe mieux en Pascal.
Code :
|
Edit : encore des espaces fantomes ...
Marsh Posté le 11-09-2003 à 16:31:22
Au boulot, espaces (l'IDE VB ne me laisse pas le choix)
A la maison (PHP, C, ...), je prends les tabs.
Et dans le fond, à choisir exclusivement l'un ou l'autre, je prendrais espaces.
Marsh Posté le 10-09-2003 à 10:48:50
Quels sont les avantages de chacun ? Qu'utilisez-vous et pourquoi ?
---------------
http://runnerstats.net