Обложка Рефакторинг Вселенной

Рефакторинг Вселенной

Минула Вахитов, Михаил Вахитов

0% прочитано
Стандартный
Минула Вахитов, Михаил Вахитов

Рефакторинг Вселенной

Глава 1

Пролог. Ошибка сегментации

[SYSTEM_INIT: PROTOCOL_AUDIT]> Запуск протокола психологического аудита личности...> Сканирование секторов памяти... [RUNNING]> Статус: Обнаружена критическая уязвимость в секторе 'TRUST_CORE'.> Внимание: Зафиксировано сквозное проникновение в периметр безопасности.

— Пойми, Макс, в этой кодовой базе больше нет места для двоих.

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

Точно так же двадцать лет назад в полуподвальной, пропахшей сыростью хрущевке он помешивал старой алюминиевой ложкой чифирь, пока мы на коленке собирали наш самый первый коммерческий процессор. Тогда мы делили одну пачку лапши на двоих, замерзали у допотопного обогревателя, искренне мечтали изменить мир и клялись, что наш союз — это монолит. «Чистый код без скрытых бэкдоров», — как любил повторять Серега, хлопая меня по плечу.

— Что ты, черт возьми, несешь? — Макс сжал кулаки так, что ногти больно врезались в ладони. Сердце в груди начало бешено, со сбоями, колотиться о ребра. — Какие двое? Мы создавали эту нейросеть вместе. Пять лет без сна, на одних энергетиках и сигаретах! Исходный код ядра написан мной от первой до последней строчки! Каждая функция, каждый логический вентиль!

— Юридически? Нет, — Сергей наконец обернулся.

В его глазах не было ни ярости, ни триумфа, ни банального человеческого стыда. Только пугающая, стерильная, абсолютная пустота. Так выглядит экран намертво зависшего серверного терминала, когда до него невозможно достучаться по SSH.

— Юридически патент на архитектуру ядра принадлежит корпорации «Скай-Корп», — ровным, лекторским тоном произнес Сергей. — А «Скай-Корп» теперь на сто процентов принадлежит мне. Все счета компании переведены в офшоры еще в прошлую пятницу. Твои доступы к серверам, репозиториям и резервным копиям заблокированы. Точное время деактивации токенов — три часа ночи.

Макс сделал резкий шаг вперед, но дорогу ему мгновенно преградили две массивные, плечистые фигуры в строгих костюмах. Свои. Парни из нашего же отдела внутренней охраны, которым Макс еще на прошлой неделе лично подписывал приказы о премиях. Теперь они смотрели сквозь него. На их каменных лицах не дрогнул ни один мускул. Их просто перепрошили. Сменили владельца в правах доступа, и старый админ стал нежелательным элементом.

— Ты же обвинил меня в промышленном шпионаже и краже данных, Сереж... — голос Макса сорвался на глухой, хриплый шепот. — На меня завели уголовное дело. Мне уже звонили из органов. Ты понимаешь, что ты ломаешь мою жизнь? Уничтожаешь вообще все, на чем мы стояли?

Сергей тихо вздохнул, аккуратно поставил чашку на стеклянный дизайнерский стол и неторопливым, выверенным движением поправил запонки на манжетах дорогого пиджака.

— Это не личное, Макс. Просто бизнес. Ты гениальный кодер, спору нет, но абсолютно наивный системщик. Ты отключил свой брандмауэр и открыл мне все порты, думая, что детская дружба — это вечный SSL-сертификат безопасности. Ты сам подставился. Скажи спасибо, что я не даю делу ход дальше. Если ты сейчас тихо уйдешь через черный выход, обвинения отзовут.

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

— Нулевая точка... — прошептал Макс, медленно пятясь к выходу под холодными, контролирующими взглядами охраны. — Я стерт. Меня просто... удалили из реестра.

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

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

[FATAL_ERROR: CODE_0x00000005]> Доверие нарушено. Целостность ядра личности под угрозой.> Внимание! Обнаружен критический сбой сегментации реальности.> Запуск аварийной дефрагментации... [OK]> Поиск жизнеспособной точки восстановления... [FOUND]> Ветка 'Earth_Main' принудительно закрыта. > Перенаправление пакетов данных в альтернативный стек...

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

«Если я выберусь из этой дампы памяти... если я выживу... я перепишу этот чертов код с самого нуля».

Том 1. Глава 1: Инициализация

Системный сбой

[Внимание. Экстренное восстановление сознания...]

[Обнаружена критическая рассинхронизация ментального ядра и физической оболочки.]

[Загрузка базовых языковых пакетов... Успешно.]

[Текущий статус объекта: Жив (с ограничениями).]

Макс открыл глаза — и тут же зашёлся в тяжёлом, надсадном кашле. Лёгкие словно засыпали мелким речным песком, а в горле стоял удушливый, горький запах древесной гари и дешёвого машинного масла.

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

— Кхм… Проклятье, — прохрипел Макс и попытался подняться.

Тело отозвалось тупой, ноющей болью. Мышцы казались чужими, деревянными, словно он всю ночь разгружал вагоны. Макс посмотрел на руки и замер. Это были не его пальцы — не те, что привыкли бегать по эргономичной клавиатуре. Перед ним были тонкие, мозолистые руки подростка, лет семнадцати, с въевшейся под ногти угольной пылью и свежими царапинами.

На нём была грубая рубаха из некрашеного льна, жёсткая, как наждачная бумага. В голове тупым эхом отдавалась мысль о Земле. Там осталась жена, которая ужасно переживала бы, увидев его в таком состоянии. Но здесь он был совершенно один.

[Внимание! Доступна базовая информация о физическом носителе:]

Имя: Макс (Подмастерье рунного мастера) Возраст: 17 лет. Состояние: Истощение (эффект «Выгорание маны»).

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

— Интерфейс? — прошептал он пересохшими губами. — Серьёзно? Значит, Серёга всё-таки выкинул меня из системы… А это, получается, новая локация? Бывший друг думал, что стёр меня в ноль. Но разработчики так просто не сдаются.

Он сел на жёстком соломенном тюфяке, служившем ему постелью. Справа стоял массивный дубовый верстак, заваленный странным хламом: ржавыми долотами, тисками, стружкой, кусками полупрозрачных кристаллов и глиняными плашками.

В центре верстака лежала круглая деревянная дощечка. На ней был вырезан кривой угловатый символ, отдалённо напоминавший стилизованный язычок пламени. И этот символ светился. Не ровно — ядовито-красным, прерывистым светом, словно аварийная лампочка на сервере перед взрывом.

Стоило Максу сфокусировать на нём взгляд, как интерфейс выдал новое уведомление:

[Объект: Руна Огня (Игнис). Версия кода: 1.04 (Кривая сборка)] Тип: Активный компилируемый скрипт. Проблема: Обнаружено 3 критических бага в геометрии руны. Утечка маны: 74% (Энергия рассеивается в пустоту). Риск самовозгорания процессора (носителя): Высокий.

— Господи… — Макс слабо усмехнулся, хотя голова раскалывалась. — Они здесь не просто колдуют. Они пишут заклинания на коленке, без единого теста и нормального синтаксиса. Да это же чистой воды говнокод!

В этот момент тяжёлая дубовая дверь мастерской с грохотом распахнулась. На пороге выросла массивная фигура в кожаном фартуке, покрытом пятнами. Старый Гораций — всклокоченная седая борода, багровое от ярости лицо и тяжёлая кочерга в руке.

— Ах ты, ленивый кусок гоблинского помёта! — взревел старик так, что со стен посыпалась каменная крошка. — Очнулся?! Ты сожжёшь мне мастерскую, паршивец! Я доверил тебе простейшую руну обогрева для старосты, а ты умудрился вогнать накопитель в перегрузку! Нас же по миру пустят!

Старик замахнулся кочергой, и Макс инстинктивно сжался. Перед ним был классический таймскип наоборот — прыжок в глухое, необразованное Средневековье, где за ошибки в коде бьют железным прутом. Но страха не было. Внутри Макса проснулся холодный профессиональный азарт.

Первый рефакторинг

— Постойте, мастер Гораций! — Макс резко выставил руки вперёд, перехватывая инициативу. Голос прозвучал хрипло, но твёрдо. — Не надо кочерги. Посмотрите на верстак. Проблема не во мне, а в самой архитектуре символа.

Старик замер, тяжело дыша. Кустистые брови сошлись на переносице, а взгляд метнулся к светящейся плашке.

— В архитектуре? Каких слов ты понабрался, щенок? Ты пережёг свою ману, вот руна и идёт вразнос!

Макс поднялся с тюфяка, хотя колени слегка подкашивались от слабости, и подошёл к верстаку. Он взял тупое резное долото. Интерфейс продолжал настойчиво подсвечивать три жирные красные точки на деревянной заготовке.

— Смотрите сами, — сказал Макс, указывая кончиком долота на верхний завиток руны. — Вот эта линия. Она должна замыкать контур и возвращать излишки энергии в накопитель. Но она обрывается. Получается незамкнутый поток. Магия просто вырывается наружу, нагревая саму древесину вместо воздуха. Элементарная утечка данных. Точнее, утечка маны.

Гораций нахмурился, подошёл ближе и прищурился, разглядывая указанное место.

— И что с того? Нас так учили. Мой мастер так резал, и его мастер…

— Ваш мастер писал костыли, — отрезал Макс.

Он аккуратно приставил долото к заготовке. Внутренний системный аналитик требовал немедленно исправить эту инженерную катастрофу. Макс глубоко вдохнул и сосредоточился. Полупрозрачное меню мягко мигнуло:

[Запрос на компиляцию изменений...] [Внимание: Расход вычислительной мощности (маны): 5 единиц.] [Подтвердить действие?]

«Да», — мысленно скомандовал Макс.

Его рука, ведомая внезапным интуитивным знанием новой Системы, уверенно повела долото по дереву. Он соединил оборванную линию с основанием руны, скруглил острый внутренний угол, создававший ненужное сопротивление, и убрал лишнюю засечку на нижнем хвосте символа — третий баг, из-за которого плашка перегревалась.

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

Интерфейс взорвался каскадом зелёных уведомлений:

[Рефакторинг завершён успешно!] [Исправлено критических ошибок: 3. Оптимизация потока: +72%.] [Текущая утечка маны: 2% (Допустимая погрешность).] [Получено опыта: 150.] [Поздравляем! Ваш уровень повышен. Текущий уровень: 1.] [Активирован уникальный класс: Рунно-Системный Архитектор.]

Макс почувствовал, как по венам разлилась приятная прохлада. Слабость в ногах исчезла, а зрение стало невероятно чётким. Словно он только что прошёл глубокую дефрагментацию.

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

— Это… это как же? — пробормотал старик, переводя потрясённый взгляд с руны на Макса. — Ты изменил рисунок? Но так нельзя! Это же святотатство против канонов рунной гильдии!

— Это не святотатство, мастер, — Макс уверенно улыбнулся и отложил долото. — Это просто оптимизация. Зачем тратить прорву сил на поддержание кривого заклинания, если можно один раз написать чистый код?

Сцена 3. Новый контракт

Гораций долго молчал. Он обошёл верстак, трижды проверил руну обогрева старыми амулетами-измерителями — и каждый раз приборы показывали идеальный, стабильный результат. Такой эффективности захудалая мастерская не видела за все тридцать лет своего существования.

Наконец старик тяжело опустился на табурет и внимательно посмотрел на Макса. В его глазах больше не было ярости — только глубокое профессиональное недоумение, смешанное с просыпающимся коммерческим интересом.

— Кто ты такой, парень? — тихо спросил он. — Ещё вчера ты путал руну Воды с руной Льда и падал в обморок от простейшего рунного контура. А сегодня говоришь про какую-то архитектуру и переписываешь формулы, которые гильдия утвердила сотню лет назад.

Макс опёрся руками о верстак, сохраняя спокойствие. На Земле он вёл переговоры с крупными инвесторами, так что разговор со старым ремесленником не вызывал у него страха. Главное — выстроить правильные границы. Доверие нужно выдавать порциями, проверяя человека временем.

— Считайте, мастер, что после выгорания маны у меня в голове что-то… переключилось, — ответил Макс. — Я стал видеть скрытые дефекты в рунах. Вижу, где магия спотыкается о неровные линии и уходит в пустоту. Вы можете выгнать меня или сдать гильдии. Но если мы договоримся, ваша мастерская станет самой богатой в этом округе.

Гораций прищурился, поглаживая седую бороду.

— Договоримся? Подмастерье предлагает контракт мастеру? Наглец. И чего же ты хочешь?

Перед глазами Макса всплыло системное окно:

[Внимание! Доступно локальное задание: «Первый контракт».] Условие: Заключить партнёрское соглашение с мастером Горацием. Награда: Доступ к архивным базам данных (Книга Корневых Рун), +200 к репутации в мастерской.

— Мне нужны две вещи, — Макс загнул мозолистый палец. — Первое: статус младшего мастера и процент от каждого оптимизированного заказа. Второе: доступ к вашей старой Книге Корневых рун, которая заперта в сундуке. Я хочу видеть исходный код… то есть первородные символы, на которых держится этот мир.

Старик вздрогнул при упоминании книги, но снова посмотрел на идеально работающую золотистую руну. Логика прибыли и инженерного превосходства перевесила страх перед правилами гильдии. Честность Макса подкупала: он не пытался юлить, а выложил карты сразу.

— Ладно, — Гораций решительно хлопнул ладонью по столу и поднялся. — По рукам, чертов умник. Ты исправишь мне все бракованные заготовки на складе, которые я собирался выбросить. Если они заработают так же, как эта плашка, — книга твоя. И доля в деле тоже. Но если ты сожжёшь мне крышу…

— Не сожгу, мастер, — перебил его Макс, чувствуя, как внутри приятно щёлкнуло системное уведомление об успешном принятии квеста. — Мой внутренний файрвол ошибок не прощает. Приносите ваш говнокод, будем делать рефакторинг.

---

Спасибо за чтение

Вернуться к книге