Евгений Якушов, разница есть. Движения тачпада более резкие и отрывистые, движения мыши — более плавные. Плюс, сейчас много тачпадов имею очень маленький "размер скролла". Это значит, что за один хардварный "тик" скролла тачпада страница перемещается на меньшее расстояние, чем за один "тик" скролла мыши.
Но, конечно, JS ивентами это не отследить и нужно писать какую-то поведенческую библиотеку. И даже ей на 100% отличить мышь от тачпада невозможно.
Владимир Олохтонов, Не могу не согласиться. Однако, в моём понимании, middle разработчик — это уже опытный разработчик с 3+ годами (в среднем, есть и вундеркинды, кто может за год стать) опыта, который постоянно развивается и вот сейчас находится на той стадии, когда может себя так называть. При этом, он уже должен уметь буквально всё, хотя бы в теории.
Неопытных мидлов не бывает. Вернее, бывают те, кто (или кого) называют себя мидлами просто за то, что он 3+ лет штаны просиживал в разработчиках, но это ненастоящие мидлы.
Конечно, лепить паттерны везде только потому, что книгу прочитал — это как в поговорке про "в руках молоток". Но мидл так не будет делать.
Владимир Олохтонов, на моей практике, паттерны помогали уменьшить связанность кода и сложность отдельных юнитов. Конечно, при этом неминуемо растёт число абстракций, но это соразмерная плата за снижение сложности кода и повышения его атомарности.
Но я начал использовать паттерны задолго до того, как прочитал ту самую книжку. Они появлялись сами собой и были очень логичными. На то они и называются так — это просто best practices для решения шаблонных задач.
Честно говоря, я не могу придумать адекватную замену, например, шаблону "посетитель", чтобы было меньше абстракций, но код при этом был более читабельным и расширяемым (или хотя бы остался на уровне).