Как стать автором
Обновить

Комментарии 11

Нафиг этот извращённый стиль а-ля "oParent" и "iChilds"?
а почему извращённый?
Так же немного лучше, когда переменные адекватно названы, и сразу понятно какой тип переменной они содержат?

iInteger
aArray
bBoolean
sString
oObject

Только в приведенных исходниках, он такой стиль поддерживается как-то частично. И вот исходя из этого, можно сказать, что стиль извращенный.

а по поводу iChilds — тут все печально. Integer во множественном числе. Да еще и Childs вместо Children.
Правильнее было бы тогда — iChildrenCount

Я знаю идею «системной венгерской нотации». Даже её авторы не рекомендуют её использовать:
Пик Большого Восстания совпал с первым выпуском .NET. Microsoft наконец начала говорить людям, что «Венгерская Нотация Не Рекомендуется».


Она — отвратительна. Загрязняет код, мешает читать, и так далее. Тем более, названия должны быть такими, чтобы из названий было ясно, какой тип внутри. "childrenCount" — понятно, что количество не может быть массивом. Зачем эта тавтология? «Масло масленное».

Более того, она ещё более отвратительна, когда в одной переменной — есть, а в другой — нету.
И ещё более отвратительна, когда она мешает, подсказывая неверный тип.

// префикса нету:
var dragItems = document.querySelectorAll('[draggable=true]');
// префикс есть:
var oCols = document.querySelector('div.columns');
// префикса нету:
var i = 0
// префикс есть:
var iChilds = oCols.childElementCount + 1;


Да и вообще, предварять dom-элемент в javascript префиксом «object» — это моветон. Таким же образом можно писать такой префикс и перед массивом.

Это выглядит как человек когда-то прочитал книгу, вбил себе эту нотацию как догму, но никогда не задумывался, зачем она нужна и какие могут быть преимущества. Просто использует потому-что «так надо», даже не задумываясь, «как надо?» и не осознавая, что это просто визуальный шум, а не польза для кода.
Ну про приведенный код в топике я уже сказал — единый стиль не поддерживается, что сбивает.

А про нотацию — тут можно спорить. Пример который вы привели, про childrenCount -простой, так как Count говорит сам за себя.

В больших скриптах это наоборот упрощает чтение и понимание кода.
Т.е. вы хотите сказать что оперировать типами в названии переменных лучше чем просто писать алгоритм и подкреплять его комментариями через пару строчек? Венгерская нотация это вообще парадокс. Если идти по ее догме то почему не хотите писать так function doThisI, function doThatS.
Вообще какой смысл динамической типизации в языке если кто-то «типизирует» в названии, вместо того чтобы просто комментировать код, а типизацию интерпретатору оставить?
На самом то деле вы правы.
Но по себе могу сказать, что когда начал использовать именно такой стиль, и работать с кодом, написаны в таком стиле, то стало по настоящему удобнее.
не в ибиду сказано, но с вашим кодом что в нотации, что без работать нереально, ибо это не понятно что, непонятно как и не понятно куда, просто простыня — разьирайтесь дальше сами.

Теперь главный вопрос, где тут html5?
Поимом этго вообще весь код ужасен как html так и js так и css, никогда бы с таким работаь не захотел, каша полная, сверстано не сематично, часть событий в JS навешано часть прямо в атрибуты DOM прописаны.
Chrome 19.0.1084.46: не работает.
В Chrome 18.0.1025.168 тоже не работает
Хорошая статья из разряда «Как делать не нужно».
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории