Почему Bootstrap 3 меняет camelCase на тире - это более читабельно?

20

Мне интересно, в чем причина решения Bootstrap изменить все имена верблюдов на дефисные имена в версии 3.0. Я искал в Google и просмотрел несколько книг, но я могу найти мнения только так или иначе - нет достоверных данных.

Существуют ли какие-либо исследования, которые предполагают, что имена переменных в случае верблюдов более читабельны, чем тире, или это просто вопрос личных предпочтений?

Дэн Блоуз
источник
1
«Читаемость» может быть лучше определена с помощью метрического списка Википедии, такого как «скорость восприятия», «восприятие на расстоянии», «восприимчивость в периферическом зрении», «видимость», «техника рефлексного моргания», «скорость работы» (например, скорость чтения), «движения глаз» и «усталость при чтении».
Джон Брингхерст
6
@Blowski: Где на странице, на которую вы ссылаетесь, обсуждается вопрос об изменении названий через дефис? Библиотека Bootstrap, похоже, связана с HTML и CSS, где атрибуты из двух слов всегда переносятся по соглашению. Они могут просто делать это для последовательности; при прочих равных условиях последовательность выигрывает.
Роберт Харви,
2
@RobertHarvey этот вопрос был вызван обсуждением Hacker News, которое само было вызвано объявлением Bootstrap. Было много мнений с обеих сторон, но нет данных - отсюда и вопрос.
Дэн Блоу
3
Что ж, согласно статье в Hacker News (где, по-видимому, участвовал руководитель BootStrap), BootStrap внесли изменения, потому что «в своей интуиции они чувствовали, что это правильно». Они сказали, что сделали бы изменения раньше, за исключением проблем обратной совместимости.
Роберт Харви
3
@RobertHarvey Далее, посмотрите на язык, с которым они интегрируются, CSS. CSS уже использует hypens в номенклатуре, это почти понятно, что они переключаются. Итак, мы снова вернулись к вашей первоначальной идее, условности и прагматизму.
Джефф Лангемайер

Ответы:

27

Я краду комментарий Роберта :

В проектировании и разработке программного обеспечения есть много вещей, которые обусловлены не результатом формальных исследований, а соглашением и прагматизмом. Вот почему существуют стандарты де-факто; они возникают из повседневного использования, и многие люди со временем обнаруживают, что работает, а что нет.

Когда дело доходит до выбора между именами camelCase и дефисами, это особенно верно, поскольку исследования неубедительны:

  • К верблюжьему делу или недооценке - Дейв Бинкли, Марсия Дэвис, Дон Лори, Кристофер Моррелл

    Исследование, описанное в этой статье, показывает, что, хотя тем, кто не обучен, требуется больше времени для распознавания идентификаторов в стиле верблюжьего случая, все предметы более точны при идентификации идентификатора в верблюжьей клетке. Кроме того, субъекты, обученные использовать верблюжью оболочку, занимают меньше времени для идентификации идентификатора в верблюжьей оболочке, чем идентификатор подчеркивания.

    Следующим шагом является рассмотрение задач более высокого уровня в более реалистичных условиях. Одна задача - исследовать влияние верблюжьей обсадной колонны на подчеркивание при чтении блоков кода. Например, субъектам может быть предложено выполнить поиск определенного идентификатора. Еще одна задача - попросить испытуемых прочитать абзацы на естественном языке, модифицированные для использования верблюжьих букв или подчеркиваний. Это позволило бы проводить более прямые сравнения с предыдущими работами в психологии, такими как Epelboim et al.

  • Исследование отслеживания глаз на стилях идентификаторов camelCase и under_score - Бонита Шариф, Джонатан Малетик

    Проводится исследование с отслеживанием глаз, анализирующее влияние стиля идентификатора (верблюжий и подчеркивание) на точность, время и визуальное усилие в отношении задачи распознавания правильного идентификатора по заданной фразе. Зрительное усилие определяется с использованием шести показателей, основанных на данных о взгляде, а именно: количество фиксаций и продолжительность. Хотя не было обнаружено различий между стилями идентификаторов в отношении точности, результаты указывают на значительное улучшение во времени и снижение визуальных усилий при использовании стиля подчеркивания. Взаимодействие опыта со стилем указывает на то, что новички выигрывают вдвое быстрее по сравнению со стилем подчеркивания. Это означает, что с опытом или обучением разница в производительности между стилями уменьшается. Эти результаты дополняют результаты исследования Binkley et al. Дальнейшая работа включает в себя проведение дополнительных исследований (с большим подмножеством идентификаторов и большей выборкой объекта) по чтению исходного кода, состоящего из обоих стилей идентификаторов, в контексте конкретной задачи, такой как отладка. Другое возможное направление - определить, есть ли у программиста преимущество в том, чтобы сменить свой текущий стиль на лучший общий стиль.

    Примечание: исследование, упомянутое здесь как Binkley et al. это первое исследование, с которым я связан.

yannis
источник
2
Из второго исследования: «Это означает, что с опытом или обучением разница в производительности между стилями уменьшается». на что можно ответить «тот, который более читабелен, тот, который вы используете чаще всего». - Выберите конвенцию и придерживайтесь ее.