RaaC (Relations as a Code) отношения мужчины и женщины как код

Спасибо Небу за вдохновение

Я не психолог и далеко не специалист по взаимоотношениям людей. В этой нетехнической статье я поделюсь своими философскими мыслями и рассуждениями на тему отношений мужчины и женщины, если смотреть на них как на код. Еще одна ремарка перед стартом: будем рассматривать женщину как код (WaaC), однако рассуждения справедливы и для мужчины (Maac).

Когда мужчина и женщина вступают в отношения, нет. Я буду говорить мы. Когда мы вступаем в отношения, начинаем жить вместе, заводить детей и все такое, мы изменяем друг друга и меняемся сами. Другими словами, мы – два проекта, написанные на языке любви, а друг для друга мы – контрибьюторы (Contributors) – люди, которые вносят изменения в кодовую базу друг друга. Например, женщина – это код, мужчина – контрибьютор. Причем не обязательно, что контрибьютор один, на нас так же влияют и другие люди, но большее влияние на код и его функционал оказывает главный контрибьтор – мужчина. Он вносит какие-то изменения в кодовую базу, меняет или создает новый функционал, тестирует и делает pull request – запрос, на включения изменений в код проекта. На этом этапе женщина является лицом, которое делает codereview – проверку нового кода на качество и выполнения заявленных функций. Если все ок – pull request одобряется и изменения попадают в код проекта. Переводя на человеческий, мужчина и женщина начинают жить вместе, притираются друг к другу. В процессе совместной жизни выясняется, что женщина не умеет пользоваться стиральной машиной и поэтому стирает вещи руками. Мужчины, обращая на это внимание, учит свою подругу сердца использовать технологии 21-века. В результате женщина научилась пользоваться стиральной машиной и больше не стирает руками.

Это картина идеальная. На деле же мы сталкиваемся с целой кучей проблем, как в отношениях так и в работе с кодом. Например, главный контрибьютор написал “говнокод”, тогда в процессе codereview, если он проходит как положено, его изменения будут отклонены. Возвращаясь к примеру со стиральной машиной – мужчина может в грубой форме, общаясь как с умолишенной, объяснять своей подруге как ей пользоваться машинкой. Высока вероятность, что она пошлет его куда подальше и продолжит стирать вещи руками и вдобавок еще обидеться. После отклонения изменений мужчина может доработать свой “говнокод”, довести его до нужного качества и повторить попытку.

Идем дальше. Что если мужчина все таки написал “говнокод”, но его изменения на codereview были приняты? Конечно он будет продолжать писать “говнокод” ведь его же принимают. Зачем ему заморачиваться качеством? Что за этим последует? Качество кода будет уменьшаться, вносить изменения будет сложнее, поддержка будет становиться дороже, возможно будут привлекаться сторонние “разработчики” для наведения порядка в коде. Неминуемо это приведет к накоплению такого объема технического долга (нерешенные проблемы), с которым текущей контрибьютор уже не в силах справиться и его увольняют. На его место приходит либо целая команда разных контрибьюторов (друзья, подруги, новые мужчины), задача которых будет заключаться в проведении рефакторинга (повышение качества кода без изменения функционала). На месте команды может оказаться один крутой специалист по рефакторингу (психолог или психотерапевт). Снова вернемся к нашему примеру со стиральной машиной. Грубое объяснение было принято, женщина научилась ей пользоваться, но осадок и обида осталась – это технический долг. Мужчина увидев, что ему позволено так себя вести, будет продолжать в том же духе и в других жизненных моментах. Обиды будут копиться, периодически будут происходить ссоры и скандалы, которые проблем не решают, а только усугубляют. Неминуемо все это приводит к разрыву отношений, и чем дольше они длились, тем труднее будет его (разрыв) переживать. Женщине может хватить одной тусовки с подругами, чтобы забыть “этого козла”, а может понадобиться и помощь психотерапевта. Бывает так, что технический долг на проекте настолько большой, что принимается решение либо начать его писать с нуля, либо с некой предыдущей версии. Другими словами, женщина может “откатиться” до некоего предыдущего состояния, отменяя большинство изменений, внесенных “этим козлом”. Если отношения были длительными, то возможно переживание чувства второй молодости.

В процессе жизни проекта, заполняется issues list – список идей, проблем, задач, которые необходимо выполнить. Часто эти issues назначаются на конкретного разработчика – главного контрибьютора. Если он выполняет их в срок, или с опережением – все ок. Однако, если он не справляется со своей работой, то технический долг вновь будет копиться, а такого контрибьютора уволят. В отношениях это аналог просьбы сделать, решить или обсудить что-то. Купить новую шубу, отвести детей в сад, погулять с собакой, обсудить нерешенные проблемы. Если “забить” на все это, женщина найдет того, кто сделает все это, а вы отправитесь на новый проект, если повезет.

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


Оставить комментарий:

Ваш email не будет опубликован.