Warum ändert Bootstrap 3 camelCase in Bindestriche - ist es besser lesbar?

20

Ich frage mich, was der Grund für die Entscheidung von Bootstrap ist, alle Namen von Kamelfällen in Namen mit Bindestrich in Version 3.0 zu ändern. Ich habe bei Google gesucht und in ein paar Büchern gesucht, aber ich kann nur Meinungen auf die eine oder andere Weise finden - keine harten Daten.

Gibt es Studien, die nahelegen, dass Variablennamen in Kamelfällen besser lesbar sind als Bindestriche, oder ist dies nur eine Frage der persönlichen Präferenz?

Dan bläst
quelle
1
"Lesbarkeit" lässt sich möglicherweise besser mit der Metrikliste von Wikipedia definieren, z. B. "Wahrnehmungsgeschwindigkeit", "Wahrnehmbarkeit aus der Ferne", "Wahrnehmbarkeit im peripheren Sehen", "Sichtbarkeit", "Reflex-Blinzeltechnik", "Arbeitsgeschwindigkeit". (z. B. Lesegeschwindigkeit), "Augenbewegungen" und "Ermüdung beim Lesen".
Jon Bringhurst
6
@Blowski: Wo auf der Seite, die Sie verlinkt haben, wird die Änderung von Namen mit Bindestrich behandelt? Die Bibliothek von Bootstrap scheint mit HTML und CSS verknüpft zu sein, wobei Zwei-Wort-Attribute immer durch eine Konvention getrennt werden. Sie tun es möglicherweise nur aus Gründen der Konsistenz. Wenn alle anderen Dinge gleich sind, gewinnt die Konsistenz.
Robert Harvey
2
@RobertHarvey Die Frage wurde durch eine Diskussion auf Hacker News ausgelöst, die selbst durch die Bootstrap-Ankündigung ausgelöst wurde. Es gab viele Meinungen auf beiden Seiten, aber keine Daten - daher die Frage.
Dan Blows
3
Nun, laut dem Artikel von Hacker News (an dem vermutlich ein Principal von BootStrap teilgenommen hat), hat BootStrap die Änderung vorgenommen, weil "sie es in ihrem Bauch für richtig hielten". Sie sagten, sie hätten die Änderung früher vorgenommen, außer aus Gründen der Abwärtskompatibilität.
Robert Harvey
3
@RobertHarvey Schauen Sie sich außerdem die Sprache an, in die sie integriert sind, CSS. CSS verwendet Hypens bereits in der Nomenklatur, es ist fast ein Klacks, dass sie wechseln würden. Wir sind also wieder bei Ihrer ursprünglichen Idee, Konvention und Pragmatismus.
Jeff Langemeier

Antworten:

27

Ich klaue Roberts Kommentar :

Es gibt viele Dinge in der Softwareentwicklung, die nicht vom Ergebnis formaler Studien, sondern von Konventionen und Pragmatismus bestimmt werden. Deshalb gibt es defacto-Standards. Sie entstehen aus dem täglichen Gebrauch und viele Menschen entdecken im Laufe der Zeit, was funktioniert und was nicht.

Dies gilt insbesondere für die Wahl zwischen camelCase- und mit Bindestrich versehenen Namen, da Studien nicht schlüssig sind:

  • Zu camelCase oder under_score - Dave Binkley, Marcia Davis, Dawn Lawrie, Christopher Morrell

    Die in diesem Artikel beschriebene Studie zeigt, dass Personen ohne Schulung zwar länger brauchen, um Identifikatoren im Kamelkofferstil zu erkennen, alle Probanden jedoch genauer sind, wenn sie einen Identifikator in einem Kamelkoffer identifizieren. Darüber hinaus benötigen Probanden, die für die Verwendung von Kamelhüllen geschult sind, weniger Zeit, um einen Identifikator mit Kamelgehäuse zu identifizieren, als einen Identifikator mit Unterstrich.

    Der nächste Schritt besteht darin, übergeordnete Aufgaben in realistischeren Umgebungen zu betrachten. Eine Aufgabe würde die Auswirkung von Kamelgehäusen gegenüber Unterstrichen beim Lesen von Codeblöcken untersuchen. Beispielsweise könnten Probanden gebeten werden, nach einer bestimmten Kennung zu suchen. Eine andere Aufgabe würde die Probanden bitten, Absätze in natürlicher Sprache zu lesen, die so modifiziert sind, dass sie eine Kamelhülle oder Unterstriche verwenden. Dies würde direktere Vergleiche mit früheren psychologischen Arbeiten wie Epelboim et al.

  • Eine Eye-Tracking-Studie zu camelCase und under_score Identifier Styles - Bonita Sharif, Jonathan Maletic

    Eine Eye-Tracking-Studie, die die Auswirkung des Identifikatorstils (Camel-Case und Unterstrich) auf Genauigkeit, Zeit und visuellen Aufwand analysiert, wird im Hinblick auf die Aufgabe der Erkennung eines korrekten Identifikators bei gegebener Phrase vorgestellt. Die visuelle Anstrengung wird unter Verwendung von sechs Maßen bestimmt, die auf den Blickdaten basieren, nämlich Fixierungszählungen und -dauern. Obwohl in Bezug auf die Genauigkeit kein Unterschied zwischen den Bezeichnerstilen festgestellt wurde, deuten die Ergebnisse auf eine signifikante Verbesserung der Zeit und einen geringeren visuellen Aufwand mit dem Unterstrichstil hin. Das Zusammenspiel von Erfahrung mit Stil zeigt, dass Anfänger mit dem Unterstreichungsstil doppelt so viel von der Zeit profitieren. Dies impliziert, dass mit der Erfahrung oder dem Training der Leistungsunterschied zwischen den Stilen verringert wird. Diese Ergebnisse ergänzen die Ergebnisse der Studie von Binkley et al. Zukünftige Arbeiten umfassen die Durchführung von mehr Eyetracking-Studien (mit einer größeren Teilmenge von Kennungen und einer größeren Stichprobe von Probanden) zum Lesen von Quellcode, der aus beiden Kennungsstilen besteht, im Kontext einer bestimmten Aufgabe wie dem Debuggen. Eine andere mögliche Richtung besteht darin, festzustellen, ob es für einen Programmierer von Vorteil ist, seinen aktuellen Stil in einen besseren Gesamtstil zu ändern.

    Anmerkung: Die hier als Binkley et al. ist die erste Studie, mit der ich verbunden bin.

yannis
quelle
2
Aus der zweiten Studie: "Dies impliziert, dass mit der Erfahrung oder dem Training der Leistungsunterschied zwischen den Stilen verringert wird." worauf man antworten kann: "das lesbarere ist das, das du am häufigsten verwendest." - Wähle eine Konvention und bleibe dabei.