Pourquoi Bootstrap 3 change camelCase en tirets - est-il plus lisible?

20

Je me demande quel est le raisonnement derrière la décision de Bootstrap de changer tous les noms de cas de chameau en noms coupés dans la v3.0. J'ai cherché sur Google et j'ai regardé dans quelques livres, mais je ne peux trouver des opinions que dans un sens ou dans l'autre - pas de données fiables.

Y a-t-il des études qui suggèrent que les noms de variables de cas de chameau sont plus lisibles que les tirets, ou est-ce simplement une question de préférence personnelle?

Dan souffle
la source
1
La «lisibilité» peut être mieux définie avec la liste métrique de wikipedia, telle que «vitesse de perception», «perceptibilité à distance», «perceptibilité dans la vision périphérique», «visibilité», «la technique du réflexe clignotant», «taux de travail» (p. ex., vitesse de lecture), «mouvements oculaires» et «fatigue de lecture».
Jon Bringhurst
6
@Blowski: Où sur la page que vous avez liée discute-t-il du changement des noms avec trait d'union? La bibliothèque de Bootstrap semble être associée à HTML et CSS, où les attributs de deux mots sont toujours coupés par convention. Ils le font peut-être simplement par souci de cohérence; toutes choses égales par ailleurs, la cohérence l'emporte.
Robert Harvey
2
@RobertHarvey, la question a été posée par une discussion sur Hacker News, elle-même provoquée par l'annonce Bootstrap. Il y avait beaucoup d'opinion des deux côtés, mais pas de données - d'où la question.
Dan Blows
3
Eh bien, selon l'article de Hacker News (auquel participait vraisemblablement un directeur de BootStrap), BootStrap a fait le changement parce que "dans leurs tripes, ils pensaient que c'était bien." Ils ont dit qu'ils auraient fait le changement plus tôt, sauf pour des problèmes de compatibilité descendante.
Robert Harvey
3
@RobertHarvey De plus, regardez le langage avec lequel ils s'intègrent, CSS. CSS utilise déjà des hypens dans la nomenclature, c'est presque une évidence qu'ils changeraient. Nous sommes donc à nouveau de retour à votre idée originale, convention et pragmatisme.
Jeff Langemeier

Réponses:

27

Je vole le commentaire de Robert :

Il y a beaucoup de choses dans la conception et le développement de logiciels qui sont motivées, non par le résultat d'études formelles, mais par les conventions et le pragmatisme. C'est pourquoi des normes de facto existent; ils découlent de l'utilisation quotidienne et de nombreuses personnes découvrent au fil du temps ce qui fonctionne et ce qui ne fonctionne pas.

En ce qui concerne le choix entre camelCase et les noms avec trait d'union, cela est particulièrement vrai, car les études ne sont pas concluantes:

  • Pour camelCase ou under_score - Dave Binkley, Marcia Davis, Dawn Lawrie, Christopher Morrell

    L'étude décrite dans cet article montre que, bien que ceux qui ne sont pas formés mettent plus de temps à reconnaître les identifiants dans le style des cas de chameaux, tous les sujets sont plus précis lorsqu'ils identifient un identifiant à dos de chameau. De plus, les sujets formés à l'utilisation de la carcasse de chameau prennent moins de temps pour identifier un identifiant de chameau que l'identifiant de soulignement.

    L'étape suivante consiste à envisager des tâches de niveau supérieur dans des paramètres plus réalistes. Une tâche consisterait à étudier l'impact du boîtier de chameau par rapport aux traits de soulignement lors de la lecture de blocs de code. Par exemple, il peut être demandé aux sujets de rechercher un identifiant particulier. Une autre tâche consisterait à demander aux sujets de lire des paragraphes en langage naturel modifiés pour utiliser une enveloppe de chameau ou des traits de soulignement. Cela permettrait des comparaisons plus directes avec des travaux antérieurs effectués en psychologie tels que Epelboim et al.

  • Une étude oculaire sur les styles d'identificateurs camelCase et under_score - Bonita Sharif, Jonathan Maletic

    Une étude oculaire analysant l'effet du style identifiant (chameau et trait de soulignement) sur la précision, le temps et l'effort visuel est présentée en ce qui concerne la tâche de reconnaître un identifiant correct, à l'aide d'une phrase. L'effort visuel est déterminé à l'aide de six mesures basées sur les données du regard, à savoir: le nombre de fixations et les durées. Bien qu'aucune différence n'ait été trouvée entre les styles d'identifiants en ce qui concerne la précision, les résultats indiquent une amélioration significative du temps et un effort visuel moindre avec le style de soulignement. L'interaction de l'expérience avec le style indique que les novices bénéficient deux fois plus en termes de temps, avec le style de soulignement. Cela implique qu'avec l'expérience ou la formation, la différence de performance entre les styles est réduite. Ces résultats s'ajoutent aux résultats de l'étude de Binkley et al. Les travaux futurs comprendront la réalisation de plus d'études oculaires (avec un plus grand sous-ensemble d'identifiants et un plus grand échantillon de sujet), sur la lecture du code source composé des deux styles d'identifiants, dans le contexte d'une tâche spécifique telle que le débogage. Une autre direction possible consiste à déterminer s'il y a un avantage pour un programmeur à changer son style actuel en ce qui est déterminé comme étant un meilleur style global.

    Remarque: L'étude référencée ici comme Binkley et al. est la première étude à laquelle j'ai fait un lien.

yannis
la source
2
De la deuxième étude: "Cela implique qu'avec l'expérience ou la formation, la différence de performance entre les styles est réduite." à laquelle on peut répondre "celui qui est le plus lisible est celui que vous utilisez le plus". - Choisissez une convention et respectez-la.