TGViewer
blzr blzr @blzrme · 365 subscribers
Post #147 180
О пользе слушания своих инструментов

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

Первый раз мне эта мысль пришла когда я пытался уложить систему в архитектурные требования в течении нескольких недель рисования, созерцания и обсуждения стрелочек с квадратиками. И выглядело это все ужасно с огромным багажом потенциальных граблей которые вспоминались из опыта. Затем нашли service-mesh, который архитектурно отделяет коммуникацию и безопасность от сервисов. Сами сервисы становятся простыми и тупыми (в этом случае это хороший показатель). Архитектура "запела".

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

Ну и третий, простой пример совсем недавно, когда для решения простой задачи под требования, пришлось переопределить библиотечный класс. Тут код прямо таки кричал о том что архитектуру нужно пересмотреть. Спойлер это был ОРМ, который с самого создания несёт проблему объектно-реляционного импеданса и порождает большое количество проблем и боли при любом мало-мальски сложном сценарии сложнее CRUDа.

Я все это обдумывал, а потом вспомнил что месяц назад случайно прочитал статью Listen To Your Tools от 2006 года, которая у меня в библиотеке лежала лет восемь и вообще непонятно откуда взялась. Я пошел перечитать, и нашел видео автора Carlo Pescio о физике софта. Он предлагает очень интересную концепцию о взаимосвязи трёх измерений: рантайма, софта и требований. Ну и переформулируют качества кода, с точки зрения измеримых показателей. На первый взгляд -- потенциальный сдвиг парадигмы, жаль только у автора не хватит сил подвинуть именитых "консультантов" типа Банды Четырех, которые десятилетиями спорят в области метафизики, разъезжают по конференциям и крепко сидят на контрактах

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

Границы твоего языка определяют пределы твоего мира. Л. Витгенштейн

#инженерия
  • 👍 1
More from @blzrme
  1. Oct 16, 2026Хорошая игрушка примерно на час времени, чтобы понять принцип работы синтезаторов https://…
  2. Oct 15, 2026Нормально делай — нормально будет, а плохо не делай
  3. Oct 14, 2026Левенчук брутально набросил на математику. И я с ним склонен согласиться: реально секта со…
  4. Oct 14, 2026Психологи обнаружили 3 батарейки, еще 4 в процессе: Физическое тело (Стхула Шарира): грубо…
  5. Oct 13, 2026Бьют, как известно, не по паспорту. Про Тональность Влад мощно накинул
  6. Oct 12, 2026Коротких путей нет. Новый Платон (Широков греч.)
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →