Как стать автором
Поиск
Написать публикацию
Обновить

Оверинжиниринг: простое сложным языком

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров4.2K
Всего голосов 9: ↑9 и ↓0+11
Комментарии6

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

Скажите, на ваш взгляд интерфейсы WebcryptoApi, можно считать примером оверинжиниринга?

Хороший вопрос :) На мой взгляд, интерфейсы WebCrypto API - это не оверинжиниринг, а скорее отражение специфики криптографии как области: здесь важна четкая типизация, строгая спецификация и безопасность. Архитектура может казаться "перегруженной" по сравнению с повседневным кодом, но это обосновано

Оверинжиниринг - это скорее когда абстракции не решают реальных задач, а только усложняют чтение и поддержку кода. В WebCrypto API почти каждый слой, насколько я видел, обоснован конкретными требованиями: безопасностью, платформенной независимостью, поддержкой разных алгоритмов и ключевых хранилищ

Это отдельный вид «зуда»: узнал о паттерне и хочется применить его где угодно. Builder, Factory, Adapter, Command — все в бой, даже если реальной задачи под них нет. В итоге код становится сложнее, а пользы от этого почти никакой.

Ну это удел совсем уж неофитов. Лично мне тут в свое время хорошо помогла книга "Искусство программирования для Unix".

К тому же, ООП нынче не на хайпе, в следствие чего вероятность встретить подобный код в реальной жизни сейчас на порядок ниже, чем в 1-й половине нулевых.

Это как пытаться есть суп палочками

Долго чесал голову над тем, что именно за посыл заключен в этой фразе. Потом дошло что для людей, незнакомых с восточноазиатскими способами употребления еды это может казаться чем-то переусложненным.

Долго чесал голову над тем, что именно за посыл заключен в этой фразе.

Такой посыл и был: сделать простую задачу чрезмерно сложной, когда инструменты подобраны не по задаче, а по принципу "так модно". Но, согласен, метафора может восприниматься по-разному :) Возможно, здесь уместнее была бы другая метафора: вас просят просто передать сахар, а вы в ответ начинаете проектировать систему автоматизированной доставки сахара с сенсорами, очередями и логами

«Один из моих самых продуктивных дней был, когда я выкинул 1000 строк кода». — Кен Томпсон (создатель Unix и языка Go)

«Если мы хотим подсчитать количество строк кода, следует воспринимать их не как написанные, а как потраченные»  Эдсгер Дейкстра

Надо эту статью дать почитать моим нейронкам.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации