Search
Write a publication
Pull to refresh

Comments 26

Пятёрка самых длинных идентификаторов выглядит так:

Кто писал на WinAPI (и уж тем более под DirectX) тех таким не испугаешь )
UFO landed and left these words here
Длинная переменная, по названию которой ясно, что в ней находится гораздо лучшем, чем переменная в стиле 'var1234', которая используется везде и хранит чёрт знает что.

Ну и minifier'ы javascript'а как правило решают такие проблемы (ну или более правильный gzip)
Вы впадаете в крайности. Лучше лаконичное и ёмкое название переменной.
Честно говоря вижу это вполне логичным ёмким, переменная находится именно там где нужно и имеет название, отражающее суть
if ( jQuery.support.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) {
    top  += parseFloat( computedStyle.borderTopWidth  ) || 0;
    left += parseFloat( computedStyle.borderLeftWidth ) || 0;
}

source
Я не говорю, что по ссылке — нелогично. Я говорю о том, что "var1234" — это крайности. Я не думаю, что название, например "subtractsBorderForHidden" значительно хуже и менее понятно существующего.
На самом деле будет значительно хуже:
htmlbook.ru/css/overflow
htmlbook.ru/css/visibility

hidden есть в обоих свойствах, а значит разработчику, работающему с этим кодом придётся пару раз пройтись поиском по коду (найти использования в общем), чтобы узнать обёрткой над каким из этих свойств хранит переменная.

В таких моментах нельзя однозначно сказать «какая разница», т.к. я не верстальщик и мне не приходится бороться с различиями в js разных браузеров (и их версий, пусть они и стремятся к единому стандарту), всё же jQuery была сделана как библиотека которая работает во всех основных браузерах и их распространённых версий.

Я хоть и не могу объяснить на примерах когда это вылезет в большую проблему, но вполне может быть что такое название переменной привело бы кого-нить к наспех написанному коду, когда один программист думал что там 'overflow', а другой 'visibility'
когда вы в jQuery вызываете
element.hide()
вы не думаете, что это плохое название, а лучше было бы
element.animateOpacityToZero()
? Я лишь говорю о том, что всегда должен был баланс
element.hide() — внешнее api jQuery
Я же привёл пример из его внутренностей.
Если же вам нужно писать модуль, который как-то использует эти свойства — jQuery не ограничивает своими рамками, а предоставляет информацию без вырезания сущностей.

Опять же напомню, это разные свойства, которые могут в каких-то ситуациях совершенно по разному себя вести.
element.animateOpacityToZeroAndSetCssDisplayPropertyToNone()

тогда уж
Вполне хватит и — element.setCssDisplayToNone()
Надо указать, что при наличии первого параметра оно будет анимированное
Что за бред? 'hidden' значение свойства, скажите еще что '10px' не дает понять для чего для чего используется этот размер… ах да, он и не должен!
Вы читали, что я написал?
Упрощу содержание своего комментария, в css возможна такая запись:
#some_id{
  visible:hidden,
  overflow:hidden
}


Так что hidden не даёт понять, что действительно находится в этой переменной.
Может быть там вообще содержится:
htmlbook.ru/html/attr/hidden
или же стиль обводки:
htmlbook.ru/css/border-style
или же тип инпута:
htmlbook.ru/html/input/type

Есть ещё вопросы?
'hidden' не переменная, скорее константа, во всех случаях она оправдывает свое название — что-то скрывается, с «ней» ничего не происходит, происходит с элементом у которого задается какое-то свойство:

el.hidden = true;
el.style.borderStyle = 'hidden';
el.type = 'hidden';
Мы тут обсуждаем, что hidden главная часть переменной и почти всё остальное можем выбросить. Если смотреть на то, чья эта переменная, можно увидить, что это проверка поддержки (фреймворком или же браузером не в курсе).
subtractsBorderForOverflowNotVisible

А subtracts делать чему — цвету бордера, размеру бордера или его стилю? А знаете, почему у вас не возник этот вопрос? Потому что вы придираетесь к моей идее.
Давайте прочтём каждое слово по-отдельности моим промптом (со словарём CSS) в голове :)

Вычесть Обводку Для Содержимого вышедшего за границы размеров Не Видимого.

Вроде бы понятно, что вычитается размер бордера.
Нет, правильно будет так:
Вычесть Обводку У Которого Переполнение Не Видимое.

А то, что вы кучу слов додумали — это то, о чём я говорю — нету смысла в таких длинных названиях если всё-равно кучу додумываешь.
Нет, правильно будет так:
Я же написал:
(со словарём CSS)
htmlbook.ru/css/overflow

Вроде бы как, программист, который пишет код манипулирующий dom-деревом и их css-свойствами должен знать этот атрибут.
А где написано, что это CSS overflow? Там ведь не subtractsBorderForCssOverflowNotVisible
Ну например jQuery как раз и является библиотекой для манипуляции dom-деревом и их css-свойствами.
Ну а если это не очевидно, вот пример выдачи гугл по запросу
javascript overflow

Если бы jQuery позиционировался как библиотека к серверному javascript в первую очередь, тут мог бы появиться вопрос.
А придираюсь я вот почему, когда-то были очень популярны статьи в стиле «как ускорить PHP», ну и конечно же во в них давали советы, что чем меньше длинных слов, тем лучше, не нужно подчёркиваний, в названиях переменных используйте сокращения и всё в таком духе.
В итоге это родило большое количество как скриптов, так и программистов, у которых это уже чуть ли не привычка. Ну а нормальные библиотеки и программисты страдают от общей репутации.
Sign up to leave a comment.

Articles