Литмир - Электронная Библиотека

«Эй, почему размер файла стал таким большим?»

-Мы не знаем. Мы удалили этот файл, но размер стремительно увеличился сразу после удаления.

«Проклятие, это убивает меня».

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

«Может, в протоколе было указано, где произошла ошибка?»

- Ох, я не рассказал вам об этом. Это похоже на ошибку, которая у нас возникла в минувшие выходные. Ничего не выводится, нет никакого протокола печати из оператора try-catch или информации, где произошла ошибка. В файле журнала одни пробелы.

«...Я хочу убить того, кто это сделал».

-Убьете кого-нибудь позже, решение проблемы на первом месте.

«Хорошо. Помощник менеджера Ким говорит, что он установил источник вчера, поэтому мы, вероятно, найдем проблему в нем. Так что побудьте там подольше».

-Да, менеджер.

Менеджер Чхве, закончив звонок, позвал Ким Вонхо.

«Помощник менеджера Ким, вы нашли что-нибудь?»

«Еще нет».

«Помощник менеджера Пак только что связался со мной. Видимо файлы журнала накапливаются и съедают аппаратное ограничение».

«Что он сказал о содержании ошибки?»

«По-видимому, нет никакого содержимого. Файлы пусты».

«Хм...»

Ким Вонхо поглаживал подбородок с не совсем понимающим видом.

«Кто редактировал код?»

«Мисс Сумин и г-н Ёнхо».

«Найди любые пробелы в отчете об ошибке throw new в источниках и отправь им обоим».

Строка, которая была в окне багов, мелькнула в голове Ёнхо, слышавшем разговор между менеджером Чхве и Ким Вонхо.

throw new Exception(“ “);

«Значит, окно багов показало правильно, так?»

Если файл журнала был пустым, значит, ошибка возникла из-за оператора throw new Exception, как и показало окно багов. Пробелы между двойными кавычками накапливались в лог-файле.

«Итак, throw new Exception означает, что программист сделал ошибку специально... это означает, что строка была добавлена к источнику».

Ёнхо проверил источник, который он загрузил в SVN. Он загрузил его перед отправкой Вонхо. Он узнал от помощника менеджера Со, что надо зафиксировать источники в SVN перед их загрузкой на коммерческий сервер.

Я не могу найти его, сколько бы ни смотрел...»

Но строки throw new Exception нигде не было.

Глава 19. Регулярный мониторинг (3)

В то время как все работники компании клиента («Гап») ушли домой, сотрудники компании-подрядчика («Ыль») не могли этого сделать. В то же время из угла офиса прозвучал голос надежды. Это был Ким Вонхо.

«Менеджер, я нашел проблему»

«Серьезно? Что это за проблема?»

«В измененном источнике. Там был throw new Exception»

«Что?»

«Вероятно, это файл, который я получил от г-на Ёнхо...» - произнес невнятно Ким Вонхо, посмотрев на Ёнхо.

«Что такое? Отправьте его мне».

Менеджер Чхве, просмотрев файл, который отправил ему Вонхо, позвал Ёнхо.

«Почему ты написал такой код?»

Ёнхо уверенно ответил менеджеру Чхве, который был зол.

«Это сделал не я»

«Что?»

«Код с ошибкой - это не я написал»

«Тогда кто?»

«Откуда мне знать?»

На этот раз, Ёнхо взглянул на Ким Вонхо. Он сказал про себя «Это ты сделал, да?» Момент, когда Ким Вонхо сказал, что нашел проблему, превратил его подозрения в уверенность.

«Помощник менеджера Ким, что здесь происходит? Г-н Ёнхо говорит, что он не делал этого».

Ким Вонхо пристально посмотрел на Ёнхо.

«Г-н Ёнхо. Это серьезная проблема. Каждый может совершить ошибку. Вам просто нужно быть честными».

«Это не тот файл, который я редактировал»

«Тогда кто, вы говорите, это сделал?»

Ким Вонхо делал из Ёнхо преступника до конца. Но Ёнхо не дрогнул.

«Откуда мне знать?»

«Как вы можете не знать! Перестаньте притворяться невинным!»

Как только он повысил голос, вмешался менеджер Чхве.

«Так, так! В первую очередь мы должны исправить ошибки. Итак, давайте займемся этим».

«У меня есть исходный файл, поэтому мы можем просто использовать его. Я залил файл на SVN после отправки его помощнику Ким Вонхо, когда он сказал, что загрузит его на коммерческий сервер.

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

«О, правда?»

«Да».

«Хорошо. Я проверю. Сначала вернитесь на свои места»

Ёнхо и Ким Вонхо вернулись на свои места, менеджер Чхве тоже сел на свое место и загрузил источник через SVN.

"Хм. Г-н Ёнхо был прав»

Нигде в источнике, загруженном из SVN, не было throw new Exception. Кроме того, время загрузки ясно показывало, что файл был загружен после его отправки Вонхо.

«Здесь правильное условие и для while-цикла».

Использование более 90% лимита произошло из-за ошибки while-цикла (*цикл с предусловием). Цикл с предусловием — цикл, который выполняется пока истинно некоторое условие, указанное перед его началом. Они жестко закодировали условие, таким образом, это станет верным, и поэтому приведет к бесконечному циклу ошибок.

Как правило, ошибки, которые были найдены, выводятся в протоколе, где указывается место ошибки, но throw new Exception - это намеренная ошибка программиста. Программист оставил содержимое ошибки пустым, поэтому никаких протоколов не останется.

* Вздох * «Этот ублюдок Ким Вонхо реально сошел с ума в это раз?»

Менеджер Чхве тоже думал, что виновник Ким Вонхо. В измененном источнике Ёнхо повсюду были комментарии. Он писал комментарии о том, когда и почему он изменил что-то. Однако только оператор throw не имел никаких комментариев. Так что выходило, что виновным может быть только Ким Вонхо.

Нет никаких причин у стажера случайно вставить оператор throw, загрузив сначала файл на SVN, а затем отправив его Вонхо. А вот вероятность того, что Ким Вонхо изменил файл перед загрузкой на коммерческий сервер, довольно высока. Менеджер Чхве подумал, что не удивительно, почему это Ким Вонхо решил поработать сверхурочно. Вероятно, чтобы изменить код.

Убедившись, менеджер Чхве позвонил помощнику Паку.

«Я отправлю вам файл, так что перезалейте его и запустите снова».

- Понял. Пожалуйста, пришлите его быстрее.

«Хорошо».

Теперь ошибка программы исправлена . Однако осталась ошибка в отношениях.

***

После того, как была исправлена ошибка, менеджер Чхве подозвал Ёнхо под предлогом «узнать правду».

«Похоже, Ким Вонхо вас сильно невзлюбил».

«Это правда не я сделал, сэр».

«Я знаю. Я сразу это понял. Ваш источник имел большое количество комментариев, но именно у этой строки их не было».

Это была привычка, которую он получил от работы вместе с Сонгю. В ситуации, когда много людей работает над одним исходным кодом, самый быстрый способ узнать, что делает источник (исходный код) - взглянуть на комментарии.

«Я всегда так делаю...»

«Это очень хорошая привычка. У вас есть хорошая база».

«Это благодаря Сонгю-хёну, он тоже пришел в компанию вместе со мной».

«Сонгю?»

«Да. Его зовут Кан Сонгю, и он пришел в компанию как стажер в одно время со мной».

«Серьезно? Где он сейчас находится?»

«Я слышал, что он был в Группе Доставки 1. Не уверен...»

«Если это команда 1, значит, там главный менеджер Ан. Подождите секунду».

Менеджер Чхве закончил говорить и вышел из кафе, чтобы кому-то позвонить.

«Случайно, нет ли у вас какой-нибудь причины остаться здесь?»

«Извините, сэр?»

«Я имею в виду, мне интересно, если у вас есть причина, чтобы остаться в этом проекте».

«Нет, совсем нет... Почему вы спрашиваете?»

«Я посмотрел, в общей сложности 4 стажера пришли в это время. Если вы хорошо с ним ладите, то я хочу переместить вас к Кан Сонгю. Другая сторона тоже согласна».

17
{"b":"836676","o":1}