Голышев Георгий : другие произведения.

Перезагрузка

Самиздат: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь|Техвопросы]
Ссылки:
Школа кожевенного мастерства: сумки, ремни своими руками
 Ваша оценка:

  Разговор предстоял сложный. Мы с Джеком дружили с колледжа, потом вместе работали, и все время дружили. И все время соревновались. Поэтому, когда его назначили боссом над нашими программистами, я за него искренне порадовался. Но при этом, будучи в свою очередь его боссом, поговорить я ним был просто обязан.
  И не то чтобы он плохо работал, нет. Работал он как раз хорошо, и люди его работали хорошо. И все вроде было нормально... но как раз в этом и была проблема. Потому что нормальным-то это как раз и не было.
  Итак, разговор предстоял сложный, а Джек был мои другом. Такие разговоры лучше всего вести в баре, где мы, собственно, и сидели...
  (перезагрузка)
  
  Мы с Максом дружили с детства, он, я и Лео. Вместе учились, вместе хулиганили, вместе поступали в университет. Потом мы с Максом работали программистами в довольно успешной фирме, а Лео работал в каком-то очень важном биологическом центре. А потом меня назначили координатором проектов, а Макса - шефом программистов.
  И все вроде было хорошо, но мне не нравилось то, КАК они пишут. Не ЧТО - писали-то они как раз то, что надо. КАК. И это надо было объяснить Максу так, чтобы мы и дальше оставались друзьями.
  Мы сидели вместе с Лео в нашем любимом ресторане...
  (перезагрузка)
  
  Мы с Женьком с детства дружим. В одном дворе выросли, в одной школе учились, в один институт поступали. Мы оба - и еще Леха. Потом Леха ушел работать в какую-то сильно секретную заумную контору, а мы с Женьком - в софтовую фирму. Очень, кстати продвинутую фирму. И на запад работали, и на восток, и на своих шишек. Вели мы сейчас один хороший такой проектик. Большой и денежный. И интересный, что тоже важно. То есть я координировал, идеологию определял. А Женек програмерами командовал.
  И хорошо командовал. Понятное дело, сам сколько лет писал. И, кстати, хорошо писал. Проблема была в том, что мне как раз не нравилась идеология, и об этом надо было с ним поговорить. И как раз Женек-то был в этом не виноват. Ну в том, что не нравилось мне. А исправлять это было необходимо, и работать надо было как раз ему и его ребятам.
  Поэтому сидели мы с пивом под креветки у Лехи дома. А что - самое правильное место для разговора.
  Леха как всегда плыл на своей волне, в наушниках, и в разговор вступал только когда новая порция креветок приплывала, да и то ненадолго. А мы с Женьком разговаривали:
  - Слушай, ну не нравится мне все это. Ты пойми!
  - Нет, это ты меня пойми! Мне говорят: "через неделю чтобы у таких-то и таких- монстров были такие фичи". Через неделю, понял?! И уже чтобы были!!! А мне что делать? Знаешь, сколько там этих монстров?!
  - Да знаю...
  - Воот! Мы, если по-нормальному, за неделю их только в отладку запустим. А надо - чтобы уже рабочий релиз был, и работал! Чтобы юзера уже этих монстров гоняли! И не в одном городе. А города-то разные!
  - Слушай, да знаю я все это! Не дави мне на психику!
  - Нет, это ты мне давишь! Давно ты просто не писал, стратег хренов. А мы "тупые тактики"
  - Ага. Тупые. Слушай, я же для вас, дураков, стараюсь.
  - Сам дурак!
  Такой вот разговор. Хорошо, подчиненные его этого не слышали, да и мои тоже. Леха вот только, да и то не понятно, слышал или в своей психоделике плавал.
  - Женек, ну ты пойми, вы вот на какие-то дрянные фичи у каких-то поганых монстров по неделе тратите...
  - Ага, а ты быстрее б написал, теоретик!
  - Да! Написал бы! - я таки завелся - И ты это знаешь! Потому что, блин, структуры у вас нет! Системы! Рассыпалось все! Потому и работы у вас до фига, и ошибок до фига!
  - А это уже ты виноват!
  - Да не я виноват! И не ты! Хотя, конечно, если разобраться, то оба и виноваты. Нет, послушай! Я понимаю прекрасно, как это происходит. И ты руками не маши, ты знаешь, что я всю эту кухню проходил, и не один раз. С тобой же и проходили! И ты знаешь прекрасно, к чему это все идет! И как это лечить, тоже знаешь!
  - Ну да, знаю! Либо все останавливать, либо заставлять ребят пахать без выходных-без проходных...
  - Да вы и так уже без выходных-проходных! Третий день по ночам сидите! А дальше хуже будет, и ты это знаешь! - и он это знал. Ибо проходили мы это не раз и не два. Правда, те разы мы это проходили на своей шкуре, и были мы моложе и злее.
  - Ну ты зануда! Я всегда знал, что ты зануда! - Женек начал сдаваться, потому что (повторюсь) знал он, что я таки прав.
  - Ладно-ладно, работа такая, сам знаешь. Значится так, смотри... - дальше нужно было четко показать ему проблему. Четко, с учетом выпитого - вам технологи спускают задание...
  - ...И технологи зануды! Но ты хуже! Хотя нет, они хуже...
  - Ладно, пусть буду я хуже. Вот они вам задание сбросили, и вы бегом его выполнять. Стоп! Да, я понимаю, а как же иначе, сроки-то поджимают, да то, да се... Да еще отладка, да некогда... Все я понимаю! И вы, вместо того, чтобы старый код оптимизировать, просто ляпаете к нему примочку. Спакуха! Не ляпаете - творите! Творите .. хм.. довесок. В результате старый код остается, и новый к нему добавляется. Старый вы либо комментируете, либо просто переключателем обходите. Правильно?
  - Сам знаешь, что правильно! Правильно! И не комментируем, потому что хрен его знает, какие там цепочки в этом коде! Закомментируешь, а потом лови там по всем городам блох!
  Писали мы тогда большую, хорошую, дорогую сетевую-ролевую игру, под полтора миллиона пользователей - сказка, а не проект!
  - Ага. Ты блох ловишь, а мы там на звонки отвечаем, типа "А куда пропали мои бонусы?!".
  - А ты не дави на меня! Мы их по ночам между прочим ловим!.. - опять начиналось, и Леха видать уже тоже что-то начинал слышать, потому нам пивка подлил, а себе по-громче сделал.
  - Вот я и говорю. Сколько у тебя актуального кода получается? И в каком он виде? Тут тяп, да там ляп! И куча - ТУЧА! - неактуального!
  - Стоп! Он очень даже актуальный бывает! Удалять его нельзя! Хороший код, правильный. Отлаженный и работающий! Он, знаешь, иногда по всем классам используется! Ты его удалишь - и превед!
  - ...А я и не говорю "удалять". Разбираться надо. Хорошо, актуальный код, но старый. Хороший код, правильный. Но - ретро. Ретрокод. Ретрокод - и актуальный код.
  - Ну мы чистим иногда...
  - Да не чистить надо!!! Надо структуру менять! Качественное изменение делать! Количество в качество переводить! Вот как ты думаешь: какой процент ретрокода должен быть в программе, чтобы программа стала неуправляема? Чтобы она своей жизнью зажила? А? Вы уже сейчас концов найти не можете. У вас там уже искусственный интеллект нарисовался! Все на переключателях! А если управление в ретро-секцию занесет, если хоть один переключатель в ретро переключится - что будет?! Ты знаешь? И никто не знает!!! - это уже пиво сказывалось. Хотя все было правильно: черт его знает, как и что там сработает.
  - Ага! Интеллект! - Женек обрадовался: это наша любимая тема под пиво - Точно! А прикинь и правда! Бац, и мы его создали!
  - "Мы"... Только сами не поняли, как, ага!
  - Дык так оно и должно быть, все же правильно! Эволюция там, то-се... Не, а правда! Слууушай! Там ведь критический уровень должен быть! Как ты говоришь: "сколько процентов ретрокода?"
  - Нууу, понесло... - хотя мне самому было жутко интересно - Ты думай о том, что если там у тебя искусственный интеллект родиться, что ты пользователям скажешь? Когда их тупые монстры будут тупо хитро бить?
  - Ага, "бить"! А если они на контакт пойдут?...
  Тут мы просто тупо заржали. Монстры, идущие на контакт с юзерами! Я себе представил лицо того юзера! Женек, видать, представил что-то похожее.
  Но надо было все-таки сначала договорить по работе. Женек, похоже, был готов к реструктуризации, хотя и сильно ее не хотел. Понимал, что надо делать. А возни там было и правда много, очень много.
  - Слушай, давай серьезно. Там же все сначала по-уму было. Мы же с тобой вместе делали. Все там на классах, полиморфизм там...
  - Абстракционизьма!
  - Точно. Наследование. Давай там хороший ретрокод перетаскивай в базовые классы. И сразу все читаемо будет.
  - Учи меня! Там сейчас по всем текстам эти ретро-куски собирать... Иээх!!!...
  - Ну, зато нам даже проект тормозить не надо, вот что значит изначально правильная структура! А можно и под новые фичи заложиться, ага. Просто эти твои монстры получат более продвинутого предка. Кстати, чисто виртуального.
  - Ну да - Женек еще ворчал, но уже врубался - и по городам там базы поменять... Чтобы монстрам особенностей добавляли... И зданиям, точно... Только возни! Это же все чистить!
  - Сам говоришь - эволюция. Вот у тебя монстры эволюционировали, а теперь вся их эволюция уйдет к предку, а у них масса ресурсов появится для новой эволюции! До следующей чистки.
  - Тьфу на тебя! Нам бы эту пережить. А монстров тебе не жалко? Это ж "Матрица-перезагрузка"! И них же нервный срыв будет. Прикинь, тебя бы перегрузили!
  То есть Женек уже понял, что избежать структурной чистки не удастся. Да, работы там полно, но интересной работы, творческой. А мы такую работу любим.
  - Неее, какая же это "перезагрузка"? Этот самый Нео, он же вне Матрицы был. Он понимал, что его перегружают. Ну не его, Матрицу. Он видел: вот, перегружают. А монстры твои, они и есть программа. Матрица. У них все круто будет: был монстром, бац! И ты супер-монстр! Только знай фичи эволюционируй.
  
  И мы начали веселый такой треп, мол а как это будет для монстров, да для городов, для артефактов разных... Пользователи как раз ничего не заметят, разве что все станет быстрее. Код быстрее, меньше, а значит и сеть быстрее. И ресурса значит больше, но это уже для нас... И дешевле. Полная лафа, короче, только сделать.
  - ...Слышь, Санек. А все-таки интересно, а если не чистить, когда оно само качество поменяет? - Женька опять на фантастику потянуло, по пятой бутылке уже пили - Вот просчитать бы, а? А может на тестовой сетке оставить и не чистить?
  - Ага. А новые фичи ты где будешь отлаживать?
  - Ну да - Женек сник. Очень ему видать хотелось дурацкий эксперимент провести, любил он время на такую ерунду тратить. Потому, кстати, я у него начальник, а не он у меня - Ну а все-таки? Сколько там процентов ретрокода надо? 40? 50? Не, должно быть небось под 80... 80%! У нас небось сейчас под 40, а ты уже всю плешь проел. А 80 - это ого-го! 80, точно! И потом - бабах!!!...
  - 98 процентов.
  Мы так и сели. Леха, блин, выплыл из своей психоделики. Выплыл так выплыл! Мы переглянулись. Ща мы его...
  - Лех, да ты чо? Какие 98%, ты о чем?
  - О геноме. А вы о чем? 98% генома человека - ретрокод. Вы же о ретрокоде говорите?...
  (перезагрузка)
  
  - Ты что, Лех? В геноме 1-2% от силы, да и тех нет, это всем известно! Уж ты-то в своем "теле-био" такие штуки должен знать! - мы с Женьком откровенно ржали. Психоделик, блин! Вот постоянно он так со своей волны на чужую...
 Ваша оценка:

Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
О.Болдырева "Крадуш. Чужие души" М.Николаев "Вторжение на Землю"

Как попасть в этoт список

Кожевенное мастерство | Сайт "Художники" | Доска об'явлений "Книги"