Комментарии 6
Скажите, на ваш взгляд интерфейсы WebcryptoApi, можно считать примером оверинжиниринга?
Хороший вопрос :) На мой взгляд, интерфейсы WebCrypto API - это не оверинжиниринг, а скорее отражение специфики криптографии как области: здесь важна четкая типизация, строгая спецификация и безопасность. Архитектура может казаться "перегруженной" по сравнению с повседневным кодом, но это обосновано
Оверинжиниринг - это скорее когда абстракции не решают реальных задач, а только усложняют чтение и поддержку кода. В WebCrypto API почти каждый слой, насколько я видел, обоснован конкретными требованиями: безопасностью, платформенной независимостью, поддержкой разных алгоритмов и ключевых хранилищ
Это отдельный вид «зуда»: узнал о паттерне и хочется применить его где угодно. Builder, Factory, Adapter, Command — все в бой, даже если реальной задачи под них нет. В итоге код становится сложнее, а пользы от этого почти никакой.
Ну это удел совсем уж неофитов. Лично мне тут в свое время хорошо помогла книга "Искусство программирования для Unix".
К тому же, ООП нынче не на хайпе, в следствие чего вероятность встретить подобный код в реальной жизни сейчас на порядок ниже, чем в 1-й половине нулевых.
Это как пытаться есть суп палочками
Долго чесал голову над тем, что именно за посыл заключен в этой фразе. Потом дошло что для людей, незнакомых с восточноазиатскими способами употребления еды это может казаться чем-то переусложненным.
Долго чесал голову над тем, что именно за посыл заключен в этой фразе.
Такой посыл и был: сделать простую задачу чрезмерно сложной, когда инструменты подобраны не по задаче, а по принципу "так модно". Но, согласен, метафора может восприниматься по-разному :) Возможно, здесь уместнее была бы другая метафора: вас просят просто передать сахар, а вы в ответ начинаете проектировать систему автоматизированной доставки сахара с сенсорами, очередями и логами
«Один из моих самых продуктивных дней был, когда я выкинул 1000 строк кода». — Кен Томпсон (создатель Unix и языка Go)
«Если мы хотим подсчитать количество строк кода, следует воспринимать их не как написанные, а как потраченные» Эдсгер Дейкстра
Надо эту статью дать почитать моим нейронкам.
Оверинжиниринг: простое сложным языком