Page 1 sur 2
Tab ou espace, l'autre guerre de religions
Posté : 07 août 2007, 15:06
par Ripat
Définition:
hard tab: ascii \x09
soft tab: hard tab remplcé par des espaces par l'éditeur
On connaissait la guerre vim/emacs mais connaissiez vous la discussion sans fin sur l'usage du hard tab et soft tab dans le code.
J'avoue que je suis partagé même si j'utilise des hard tab que je visualise à 4 dans mes éditeurs (vim et SciTE). Une hérésie pour Linus Thorvald qui utilise le hard tab ET le visualise à 8.
Tabs are 8 characters, and thus indentations are also 8 characters.
There are heretic movements that try to make indentations 4 (or even 2!)
characters deep, and that is akin to trying to define the value of PI to
be 3.
http://www.adamspiers.org/computing/Lin ... odingStyle
http://www.movementarian.org/docs/whytabs/
http://www.adamspiers.org/computing/why_no_tabs.html
Posté : 07 août 2007, 15:13
par zeus
Idem, le hard tab que je visualise à 4 espaces ...
Posté : 07 août 2007, 15:51
par Genova
Brûlons les hérétiques qui osent utiliser des tabs à 4 caractères
J'utilise des hard tabs à 4 caractères, par défaut dans mon éditeur de texte. Ca m'embêterai pas mal d'avoir à scroller horizontalement à cause de tabs deux fois plus grands.
Posté : 07 août 2007, 16:19
par Sékiltoyai
J'utilise les hard tab (je déteste les soft tab), et pour moi, l'idéal, ce sont les tabs de notepad2, qui, je crois, sont à 8 caractères
Posté : 07 août 2007, 16:24
par Genova
4 caractères
Code : Tout sélectionner
if ($toto)
{
while (true)
{
foreach ($toto AS $tata)
{
do_something($tata);
}
}
}
8 caractères
Code : Tout sélectionner
if ($toto)
{
while (true)
{
foreach ($toto AS $tata)
{
do_something($tata);
}
}
}
Posté : 07 août 2007, 16:26
par Sékiltoyai
C'est 8 alors

Posté : 07 août 2007, 16:39
par naholyr
J'utilise les soft tabs à 4
Tout simplement parce que j'aime bien Python, que j'aime bien Yaml, et que dans ces deux langages (l'un de programmation, l'autre de configuration) l'utilisation de tabulations peut amener des problèmes. J'élimine donc les problèmes.
Il ne faut pas oublier un truc : Linus est un trolleur de première !
Posté : 07 août 2007, 16:57
par Sékiltoyai
Alors les langages sont mals faits. Que ces langages utilisent les espaces ou tabulations dans leur synatxe (c'est le cas de python je crois ? ), soit, mais dans ce cas, il faut considérer espace et tabulation de la même manière, voire nouvelle ligne ou retour charriot aussi (mais ce n'est pas toujours envisageable).
Posté : 07 août 2007, 16:59
par Genova
Python utilise l'indentation au lieu des { } pour les blocks conditionnels, je ne savais pas qu'il le gérait avec 4 espaces par contre.
Posté : 07 août 2007, 23:26
par Cyrano
Personnellement, j'ai une préférence pour le soft tab à 4 espace. Mais l'intérêt d'un débat me semble d'un intérêt limité
Il me semble que c'est d'abord et avant tout une question de convention de codage, d'autant plus dans la mesure où on code en équipe. C'est également une question de confort de lecture... et peut-être aussi des habitudes personnelles de chacun.
Si l'ensemble des membres d'une équipe a une préférence globale pour une forme spécifique, si tout le monde se met d'accord, l'essentiel est que tous parlent le même langage et qu'un membre puisse au pied levé en remplacer un autre pour une raison x ou y sans qu'on aie à craindre de voir des styles de codage hétéroclites dans un même fichier.
Tout le reste n'est que littérature un peu futile à mon sens

Posté : 08 août 2007, 07:34
par Ripat
Il me semble que c'est d'abord et avant tout une question de convention de codage, d'autant plus dans la mesure où on code en équipe. (...) Tout le reste n'est que littérature un peu futile à mon sens

Exact. D'une importance vitale pour les projets collaboratifs où les conventions de codage se doivent d'être coulées dans le bronze.
Exemple, les conventions de codage de pear (soft tab)
http://pear.php.net/manual/fr/standards ... .indenting
les conventions de codage du noyau linux (hard tab 8car.)
http://pantransit.reptiles.org/prog/CodingStyle.html
C'est un peu comme la grammaire française,:
Belle Marquise, vos beaux yeux me font mourir d'amour.
Me font vos yeux beaux mourir, belle Marquise, d'amour.
Tous deux grammaticalement corrects mais l'une plus lisible que l'autre.
Et puis, Cyrano, j'ai d'autres sondages sous le coude si tu veux

Comme par exemple sur l'usage des accolades. Le style C (K&R) ou le style GNU? La barbe au-dessus ou la barbe en-dessous? La mer ou la montagne? Boire ou conduire? Cyrano ou Roxane?

C'est juste que je suis d'humeur oisive ces jours-ci, alors je meuble...
Posté : 08 août 2007, 21:14
par Cyrano
...La barbe au-dessus ou la barbe en-dessous? ...
C'est le type même de question existentielle auquel j'apporte une résolution en faisant un "à la manière de" Alexandre dans le Noeud Gordien : J'ai déjà porté la barbe, je me suis rasé et finalement, ça permet de moins se poser de question au moment de s'endormir

Posté : 08 août 2007, 22:52
par albat
D'accord, mais une fois glabre, tu dors avec le menton au-dessus ou au-dessous ?...

Posté : 09 août 2007, 01:45
par Sékiltoyai
Une petite question à ceux qui utilisent les soft tabs. C'est pourquoi ? Hormis l'argument du Python que je ne peux pas trop discuter vu que je ne connais pas le Python, en quoi est ce que les softs tabs sont plus pratiques pour vous, que les hards tabs ?
Posté : 09 août 2007, 06:24
par Cyrano
Entre autres choses, j'utilise divers éditeurs selon le type de code manipulé pour un besoin spécifique ou un autre. Un détail assez mineur pourtant : lorsque je copie/colle du code ici (sur le forum), en utilisant des soft tabs, mon code restera aligné, mais les hard tabs ne seront pas affichés de la même manière et l'alignement saute.
Encore une fois, c'est un choix pour chacun et pour un confort de lecture. Lors de l'exécution, ça ne fait strictement aucune différence, ces espaces sont ignorés.