Pull to refresh
42
0
Филатов Дмитрий @dfilatov

Пользователь

Send message
Я имел ввиду, что если посадить человека, не сталкивавшегося ранее с подобной задачей, за ваш интерфейс — то, каким бы он не был удобным, человеку он не будет интуитивно понятным. Только в процессе познания/сравнения с другими интерфейсами можно будет судить о его понятности.
Дизайнеру, заменяющему стандартные контролы рюшечками, не несущими никакой дополнительной функциональности, нужно сразу бить по рукам.
Потому что это слово очень часто стало использоваться просто «чтобы было» — буквальное в каждом ТЗ и брифе. Причем когда спрашиваешь у авторов, что это значит в их понимании — практически никто не может толком ответить.
«Интуитивно понятно» человеку только как дышать, все остальное — применение ранее приобретенных навыков. Сам по себе интерфейс не может быть интуитивно понятным.
sudo port install php5 +mysql5 +любые модули, в отличие от MAMPа
Еще раз — у блоков может быть id (в том числе и для «регистрации сайдбаров»), но не надо привязывать к ним так жестко визуальное оформление.
Для решаемой задачи это не является необходимым: <div class="block block-opened">
Ну ie6 не настолько плох, чтобы не понимать несколько css-классов
Не нужно никаких кастомных атрибутов, состояние открытости/закрытости прекрасно укладывается в дополнительный css-класс.
Я понимаю что блоки могут быть сворачиваемыми, только для этого необязательно чтобы у блока был id. И уж, тем более, не нужно завязывать на эти такие id верстку.
А какая связь между тем, что блок должен быть сворачиваемым и тем, что у него должен быть id?
> да это мелочи всё, дописывается ещё «2-3» строками

Да это понятно, что мелочи — просто из кучки таких мелочей в итоге и вырастает чуть побольше

> А что Вы подразумеваете под статикой?

Конкретно тут я имею ввиду свойства типа, а не его экземпляра. Тоже мелочь, а приятно :)
да, похожий кусок есть и в моем коде, только этого недостаточно:

B._super.prototype.test.apply(this, arguments); — некрасиво и неудобно, я сам когда-то так делал. Гораздо удобнее писать this.__base() для всех методов, а не думать постоянно о том, кто базовый класс и писать эту длинную однообразную простыню.
— конструктор разнесен с методами, это тоже неудобно и некрасиво
— как вы сами заметили, нет статики

Собственно мой код и крутится вокруг того, чтобы обеспечить некий syntax sugar. Что конкретно вы считаете в нем лишним?
Если на проекте в качестве основного фреймворка используется jQuery, то и все остальное, расширяющееся базовый функционал, я предпочитаю оформлять в jQuery-style. Вас же не смущает, что в jQuery есть $.extend или $.makeArray?

А можно увидеть ваши 4-15 строк, делающий все перечисленное в статье?
1. мне нужен минимум инструментов, позволяющий работать с наследованием

Померял твоей «пиписькомеркой»:


То, что измеряется в этих тестах, слишком далеко от реальной жизни. Как только методы начнут не просто делегировать вызовы своему предку, а выполнять еще какие-то действия (ведь именно за этим они перекрывают базовые методы), то тут же этот разрыв начнет резко падать. А так это средняя температура по больнице. Плюс еще тесты некорректны — очень сильно скачет разброс результатов от запуска к запуску.
1. base2 делает очень много, мой взгляд, лишних телодвижений. Велосипед Резига откровенно не доделан. В свой велосипед я собрал минимум того, что мне нужно.
2. Если тебе правда интересны такие тесты, я попозже измерю. Но: ты же не меряешь, например, скорость $.each и while, хотя и ежу понятно, что первый медленнее второго. А если у твоей системы основное время работы составляет создание объектов, может тебе стоит посмотреть на техники, позволяющие уменьшить количество объектов?
3. По поводу пропертей, в вышеприведенном примере property и getProperty — это просто чтобы показать как работает наследование и перекрытие, а не чтобы продемонстрировать какую-то технику работы с проперти. Если тебя смущает getProperty() — замени его на doFoo().

В последнее время слышу очень много разговоров по поводу наследование vs агрегирование/делегирование. Для меня это не взаимоисключающие парадигмы, а взаимодополняющие, каждая из которых применяется там, где она лучше подходит.
Это не функция плохая — это разработчики плохие, раз не могут сделать так, чтобы кнопка всегда находилась в адекватном состоянии, в том числе, и после нажатия кнопки «назад».
и слава богу :)
Чтобы обойтись без document.write можно просто назначить с помощью javascript класс (например, .with-js) на элемент html и в дальнейшем уже писать стили с селекторами, опирающиеся на него (например, .with-js .script или .with-js .noscript)
12 ...
7

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity