Comments 26
Пятёрка самых длинных идентификаторов выглядит так:
Кто писал на WinAPI (и уж тем более под DirectX) тех таким не испугаешь )
Длинная переменная, по названию которой ясно, что в ней находится гораздо лучшем, чем переменная в стиле 'var1234', которая используется везде и хранит чёрт знает что.
Ну и minifier'ы javascript'а как правило решают такие проблемы (ну или более правильный gzip)
Ну и minifier'ы javascript'а как правило решают такие проблемы (ну или более правильный gzip)
Вы впадаете в крайности. Лучше лаконичное и ёмкое название переменной.
Честно говоря вижу это вполне логичным ёмким, переменная находится именно там где нужно и имеет название, отражающее суть
source
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'
htmlbook.ru/css/overflow
htmlbook.ru/css/visibility
hidden есть в обоих свойствах, а значит разработчику, работающему с этим кодом придётся пару раз пройтись поиском по коду (найти использования в общем), чтобы узнать обёрткой над каким из этих свойств хранит переменная.
В таких моментах нельзя однозначно сказать «какая разница», т.к. я не верстальщик и мне не приходится бороться с различиями в js разных браузеров (и их версий, пусть они и стремятся к единому стандарту), всё же jQuery была сделана как библиотека которая работает во всех основных браузерах и их распространённых версий.
Я хоть и не могу объяснить на примерах когда это вылезет в большую проблему, но вполне может быть что такое название переменной привело бы кого-нить к наспех написанному коду, когда один программист думал что там 'overflow', а другой 'visibility'
когда вы в jQuery вызываете
element.hide()
вы не думаете, что это плохое название, а лучше было бы element.animateOpacityToZero()
? Я лишь говорю о том, что всегда должен был балансelement.hide() — внешнее api jQuery
Я же привёл пример из его внутренностей.
Если же вам нужно писать модуль, который как-то использует эти свойства — jQuery не ограничивает своими рамками, а предоставляет информацию без вырезания сущностей.
Опять же напомню, это разные свойства, которые могут в каких-то ситуациях совершенно по разному себя вести.
Я же привёл пример из его внутренностей.
Если же вам нужно писать модуль, который как-то использует эти свойства — jQuery не ограничивает своими рамками, а предоставляет информацию без вырезания сущностей.
Опять же напомню, это разные свойства, которые могут в каких-то ситуациях совершенно по разному себя вести.
element.animateOpacityToZeroAndSetCssDisplayPropertyToNone()
тогда уж
Что за бред? 'hidden' значение свойства, скажите еще что '10px' не дает понять для чего для чего используется этот размер… ах да, он и не должен!
Вы читали, что я написал?
Упрощу содержание своего комментария, в css возможна такая запись:
Так что hidden не даёт понять, что действительно находится в этой переменной.
Может быть там вообще содержится:
htmlbook.ru/html/attr/hidden
или же стиль обводки:
htmlbook.ru/css/border-style
или же тип инпута:
htmlbook.ru/html/input/type
Есть ещё вопросы?
Упрощу содержание своего комментария, в 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';
subtractsBorderForOverflowNotVisible
А subtracts делать чему — цвету бордера, размеру бордера или его стилю? А знаете, почему у вас не возник этот вопрос? Потому что вы придираетесь к моей идее.
Давайте прочтём каждое слово по-отдельности моим промптом (со словарём CSS) в голове :)
Вычесть Обводку Для Содержимого вышедшего за границы размеров Не Видимого.
Вроде бы понятно, что вычитается размер бордера.
Вычесть Обводку Для Содержимого вышедшего за границы размеров Не Видимого.
Вроде бы понятно, что вычитается размер бордера.
Нет, правильно будет так:
А то, что вы кучу слов додумали — это то, о чём я говорю — нету смысла в таких длинных названиях если всё-равно кучу додумываешь.
Вычесть Обводку У Которого Переполнение Не Видимое.
А то, что вы кучу слов додумали — это то, о чём я говорю — нету смысла в таких длинных названиях если всё-равно кучу додумываешь.
Нет, правильно будет так:
Я же написал:
(со словарём CSS)
htmlbook.ru/css/overflow
Вроде бы как, программист, который пишет код манипулирующий dom-деревом и их css-свойствами должен знать этот атрибут.
Я же написал:
(со словарём CSS)
htmlbook.ru/css/overflow
Вроде бы как, программист, который пишет код манипулирующий dom-деревом и их css-свойствами должен знать этот атрибут.
А где написано, что это CSS overflow? Там ведь не
subtractsBorderForCssOverflowNotVisible
Ну например jQuery как раз и является библиотекой для манипуляции dom-деревом и их css-свойствами.
Ну а если это не очевидно, вот пример выдачи гугл по запросу
javascript overflow
Если бы jQuery позиционировался как библиотека к серверному javascript в первую очередь, тут мог бы появиться вопрос.
Ну а если это не очевидно, вот пример выдачи гугл по запросу
javascript overflow
Если бы jQuery позиционировался как библиотека к серверному javascript в первую очередь, тут мог бы появиться вопрос.
А придираюсь я вот почему, когда-то были очень популярны статьи в стиле «как ускорить PHP», ну и конечно же во в них давали советы, что чем меньше длинных слов, тем лучше, не нужно подчёркиваний, в названиях переменных используйте сокращения и всё в таком духе.
В итоге это родило большое количество как скриптов, так и программистов, у которых это уже чуть ли не привычка. Ну а нормальные библиотеки и программисты страдают от общей репутации.
В итоге это родило большое количество как скриптов, так и программистов, у которых это уже чуть ли не привычка. Ну а нормальные библиотеки и программисты страдают от общей репутации.
Гамма-распределение!
Sign up to leave a comment.
Средняя длина идентификатора в популярных библиотеках JavaScript составляет 8.27 символа