#common
Сегодня 1 апреля, потому можно позволить себе некоторую вольность в материале.
Меня всегда занимали разные парадоксы. Не все, конечно. Только некоторые. Например, парадокс горки (я не знаю, как он называется в оригинале). Давайте проведём мысленный эксперимент. Вот есть у вас песчинка. Одна маленькая песчинка. Вы добавляете к ней вторую. Теперь это 2 песчинки. Вы добавляете по одной песчинке и в какой-то момент у вас уже не просто много отдельных песчинок. У вас уже что-то вроде горки. Такая небольшая, насыпанная вами сущность-композиция. Если вы продолжите добавлять по одной песчинке, то на бесконечности у вас образуется гора. Огромная такая гора песка. А теперь вопрос: в какой момент она стала из горки горой? Вы теоретически можете добавлять по одной песчинке, считая их, и наверное сможете сказать, что вот эта, n-я песчинка всё меняет. Она перешла черту. Она всё изменила. На практике же такого момента не будет.
Это заставляет меня регулярно задумываться о том, как вообще разграничивать размеры.
Вот есть эти наши микросервисы. У них в названии есть МИКРО. Типа маленький. Сервис на 10^(-6). Но что такое микросервис на самом деле? Вы можете активно его развивать, регулярно дописывать код и в какой-то момент понять, что теперь компилируется он слишком долго, изменения занимают всё больше времени. Деплоится тоже долго -- команда во время релиза успевает сделать три другие задачи. Но в какой момент надо было остановиться и сделать что-то в другом месте?
Может ваш микросервис сам по себе даже и небольшой. Кода в нём не так много. Зато внутри у него 5 слоёв абстракции, 13 библиотек, бдшка и задачи в 3 очереди кладутся. Там может хорошая декомпозиция и нет огромных файликов, с другой стороны по 40 хедеров на директорию, 6 из которых уже несколько лет отключены в проде, но всё ещё лежат, ведь никто просто давно на них не обращал внимания.
Может ваш микросервис уже и не микросервис, а монолит. Монолиты мы не осуждаем. Они хорошо справляются со своей задаче на старте. Но потом их почему-то все резко перестают любить. Всем вдруг надо его распиливать, растаскивать на куски. А про чувства монолита вы подумали?
Есть ещё такие сервисы, которые называют микромонолиты. Типа микросервис, который уже большеват. Что-то типа 10^6 * 10^(-6). Микромонолит такой же опасный, как микролит в почке. Он сейчас вроде есть и никому не мешает, но в один момент резко стрельнет и будем всей разработкой пищать.
Ещё у вас может быть монолит в микросервисе. Это когда из 20к строк половина -- один файл. Я даже видел чуть более интересные случаи: полный готовый коммерческий продукт с графикой и сложной математикой в одном файлике на 10к строк. Чем не монолит? Такое тоже наверное надо распиливать.
Или вот это, популярное в Clickhouse small update на +1000 -700 строк. Декомпозицию на задачи мы тоже не забываем.
Или вот эта небольшая задачка от продукта. Где надо 5 кнопок из места в место перенести и это выливается в 1.5 месяца разработки. Небольшое изменение вроде, а вы там какие-то схемы сидите рисуете.
Или небольшая таска что-нибудь автоматизировать, которая превращается в технопроект на год. Вы не поверите, а ведь жиза.
Или моё любимое: two-pizza team -- команда, которую можно двумя пиццами накормить. Типа маленькая. Никогда не понимал, что это за объём такой странный. 2 пиццы это нам с девушкой на двоих, причём 1.5 съем я. Мы конечно отличная команда, но наверное это не то, что имеется в виду. Делает ли моя возможность съесть 1.5 пиццы меня командой на 0.75? А если я голодный, то я и целой командой себя назвать могу? Может 10X инженеры на самом деле просто голодные?
Или когда про людей думаешь. Говорят вот "он большой человек".
А я большой? Ну физически может и да. Чуть больше среднего человека. В моей стране так точно.
По возрасту тоже большой, то бишь взрослый.
По виду ещё старше. Мне из-за бороды в среднем лет 10 сверху накидывают.
А в душé? А как люди меня видят? Какой задел для роста у меня остался? Я ещё горка или уже гора? Когда я ей стал? Может меня тоже пора распилить?
У вас спина белая.
Post #330
4.09K
- 👍 13
- 🍌 7
- 😁 6
- ❤ 4