Espace ou tabulations ?

Des nouvelles intriguent, portent à réactions ; des rumeurs courent et vous voulez débattre le vrai du faux. C'est simple : ce forum est dédié à ceux qui se sont laissés tenter par la pomme de la connaissance.
teoli2003
Animal mythique
Messages : 7580
Inscription : 13 nov. 2005, 09:23

Re: Espace ou tabulations ?

Message par teoli2003 »

~HP a écrit :Même, et surtout, avec Emacs… on peut reformater et réindenter… :mrgreen:
Pas seulement avec Emacs, avec Eclipse aussi :-)
La liberté n'est jamais accordée de bon gré par l'oppresseur; elle doit être exigée par l'opprimé (Martin Luther King).
Les convictions sont des ennemis de la vérité plus dangereux que les mensonges. (Nietzsche).
Native Mozillian.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Re: Firefox 3.7/Lorentz : Rumeurs et news sur le développement

Message par calimo »

~HP a écrit :Ou encore : nano et pico… et oui, il reste du monde qui s'en sert ! :wink:
Tout comme le bloc notes sous Windows. ;-)
~HP a écrit :À titre de réflexion :
Style Guide for Python Code a écrit :For new projects, spaces-only are strongly recommended over tabs. Most
editors have features that make this easy to do.
http://www.python.org/dev/peps/pep-0008/
http://stackoverflow.com/questions/1209 ... ndentation
Bizarre qu'un langage moderne recommande plutôt les espaces que les tabulations… :wink:
Euh… python, c'est la fin des années 1980. Ce n'est pas fortran, mais ce n'est pas ce que j'appellerais « moderne ». Même si la recommandation est plus récente, l'idée même de définir des blocs par l'indentation est quand-même une bizarrerie qu'aucun autre langage (parmi ceux couramment utilisé) n'a reproduit. De plus, on remarquera que la recommandation n'est pas franchement argumentée.
Uther a écrit :Sauf que dans la pratique, ca ne marche jamais, il y a toujours des gens qui font 2 tabulation ou qui mélangent tabulations et espaces.
J'ai vu des code complètement illisibles si la taille des tabulations n'était pas changée.

Avec les espace on a la garantie que le code restera comme l'auteur l'a fait.
Non, il n'y a aucune garantie non plus. Il y aura toujours quelqu'un pour mettre des tabulations au milieu des espaces, ou pour mettre un nombre différent d'espaces.
La seule solution de satisfaire tout le monde c'est la tabulation unique, avec une largeur définie par l'utilisateur. Mais bien entendu, ça ne fonctionne pas si ne serait-ce qu'une personne du projet utilise Emacs, auquel cas alors il faut revenir aux espaces avec un nombre fixé arbitrairement qui ne conviendra pas à tout le monde.
~HP a écrit :Même, et surtout, avec Emacs… on peut reformater et réindenter… :mrgreen:
Mais uniquement pour y mettre des espaces ;-)
Avatar de l’utilisateur
~HP
Varan
Messages : 1141
Inscription : 29 juin 2008, 13:22

Re: Firefox 3.7/Lorentz : Rumeurs et news sur le développement

Message par ~HP »

calimo a écrit :
~HP a écrit :À titre de réflexion :
Style Guide for Python Code a écrit :For new projects, spaces-only are strongly recommended over tabs. Most
editors have features that make this easy to do.
http://www.python.org/dev/peps/pep-0008/
http://stackoverflow.com/questions/1209 ... ndentation
Bizarre qu'un langage moderne recommande plutôt les espaces que les tabulations… :wink:
Euh… python, c'est la fin des années 1980. Ce n'est pas fortran, mais ce n'est pas ce que j'appellerais « moderne ». Même si la recommandation est plus récente, l'idée même de définir des blocs par l'indentation est quand-même une bizarrerie qu'aucun autre langage (parmi ceux couramment utilisé) n'a reproduit. De plus, on remarquera que la recommandation n'est pas franchement argumentée.
Il y a aussi Ruby : 20 mauvaises pratiques de développement quand on développe avec Ruby on Rails
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Re: Firefox 3.7/Lorentz : Rumeurs et news sur le développement

Message par calimo »

Là encore, il n'y a aucune argumentation : c'est un point de vue dogmatique de quelques uns, qui ne repose sur aucune autre base que de vieilles incompatibilités.
Avatar de l’utilisateur
~HP
Varan
Messages : 1141
Inscription : 29 juin 2008, 13:22

Re: Firefox 3.7/Lorentz : Rumeurs et news sur le développement

Message par ~HP »

calimo a écrit :
~HP a écrit :Même, et surtout, avec Emacs… on peut reformater et réindenter… :mrgreen:
Mais uniquement pour y mettre des espaces ;-)
Faux… on peut mettre ce que l'on a choisi… emacs se configurant à l'aide d'un langage de programmation :
http://www.emacswiki.org/emacs/AutoIndentation
http://www.emacswiki.org/emacs/CategoryIndentation
http://www.emacswiki.org/emacs/SmartTabs (how to use tabs for indentation and spaces for alignment)
Ce n'est qu'un aperçu de ce qu'il est possible de faire avec emacs :wink:
Zefling
Tyrannosaurus Rex
Messages : 2577
Inscription : 21 déc. 2004, 03:45

Re: Espace ou tabulations ?

Message par Zefling »

On n'est pas loin du combat :mrgreen: :

Code : Tout sélectionner

méthode () {
	...
}
vs.

Code : Tout sélectionner

méthode () 
{
	...
}
Mon blog de dév web ― Thème pour le forum Geckozone ― Le clavier Latin-9 fr sous Windows ― Raccourcis clavier pour Firefox
Debian 8 KDE avec Firefox & Nightly
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Re: Espace ou tabulations ?

Message par Kazé »

Rhôoo, on fait du lancer de troll sur Geckozone et personne ne m’en avertit ! Tssssss…

Notez que dans les guidelines Mozilla, il est imposé d’utiliser des espaces pour l’indentation. Il suffit de bien configurer son éditeur texte, et c’est transparent à l’utilisation (les tabulations sont transformées en espaces). Je préférais les tabulations mais bon… le résultat est le même, et ça évite d’avoir à mélanger espaces et tabulations pour des codes du type :

Code : Tout sélectionner

function AlertWithTitle(title, message, parentWindow)
{
  var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
                                .getService()
                                .QueryInterface(Components.interfaces.nsIPromptService);
  if (promptService)
    promptService.alert(parentWindow, title, message);
}
Je précise que ce type d’indentation fait aussi partie des « bonnes pratiques» mozilliennes pour tenter de respecter une autre règle préhistorique : la limite à 80 caractères par ligne. Le line-wrapping, c’est pour les faibles. -_-'

Zefling > là encore, les guidelines Mozilla imposent la deuxième forme pour les blocs {…}. ;-)
Je déteste, je trouve que ça fait trop de lignes vides, mais on finit par s’y faire. Le plus important c’est de garder la même règle pour tout le code.

Au risque de lancer un autre troll : il y a des environnements de développement qui indentent le code automatiquement (nombre d’espaces, positionnement des blocs {…}, etc.), et on ne peut pas changer soi-même l’indentation (ex : Visual Studio 2002). C’est agaçant au début, mais finalement on se rend compte que ça économise bien des questions existentielles. ^^
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité