Он пришел как разработчик в этот проект из одной из дочерних компаний, Шинсеки I&C - это говорило о том, что он имел хорошие навыки.
Однако он не понимал всей картины.
«Я понимаю. Можете быть свободны».
На пропуске мужчины было написано имя «Ли Хёнгю» и размещена улыбающаяся фотография.
***
Количество способов, с помощью которых Ёнхо пытался заставить окно багов решить проблему логики, перевалило за несколько тысяч.
Проблемы с производительностью.
И обычные ошибки - с ними все было понятно.
Проблема была с логикой.
«Это тоже не активирует окно багов».
На экране компьютера была программа для создания простых чисел, которую Ёнхо писал на собеседовании.
«Я хочу создать ряд чисел до 50...»
Ёнхо проверял программу, меняя числа в операторе до 100 и обратно до 50.
Он хотел, чтобы программа создавала простые числа до 50, но даже когда он изменил желаемый результат до 100, окно багов никак не отреагировало.
«В чем разница?»
Какова разница между логической ошибкой, которая вызывает окно багов и которая не вызывает?
На этот раз он запустил программу, где окно багов активировалось логической ошибкой. Это был код maut, используемый в текущей системе ПВ.
- Солнце встает. Просыпайся...
Ёнхо встал, потирая глаза. Даже во сне он думал об одном.
***
Офис выглядел как обычно.
Но было одно отличающееся обстоятельство - строгое лицо Сон Сокхо.
«Что я говорил тебе в начале?»
«...»
«Я сказал, что программы должны иметь комментарии, которые являются обязательными, и должны быть спецификации документа, если случится что-нибудь, как это».
Ёнхо, который думал над тем, как сделать, чтобы текущий показатель RMSE был признан ошибкой, тоже слушал.
Впервые он услышал, как Сон Сокхо говорит слабым голосом.
«Даже программист, который может летать и ползать (*то есть «исключительный») не сможет понять систему с таким исходным кодом. И нет никакого связанного документа? Если это так, будет быстрее написать программу с нуля».
Возможно, с системой ПВ возникли проблемы, поэтому был вызван Сон Сокхо. Чон Данби попросила помощи у Сон Сокхо, потому что решила, что дела идут не самым лучшим образом.
Но Сон Сокхо не был богом.
Система была прямо перед ним.
Программа без каких-либо комментариев.
Даже без учета этого не было документа со спецификацией, поэтому требования передавались устно.
Программа была совсем тухлой.
Бесконечная усталость была написана на лице Сон Сокхо.
«Фуу...»
Сон Сокхо достал булочку из своего ящика и положил её в рот.
***
Два слова пришли в его голову после того, как он услышал разговор.
Комментарии и документация.
Это были слова, которые он услышал от Сон Сокхо при проверке его кода, когда он впервые пришел в компанию.
Когда кодишь, ты всегда должен помнить о других людях, которые могут увидеть твой код.
Для этого существовали, как минимум, комментарии, а также документ о спецификациях разработки программы (*документ с требованиями и условиями).
Он слышал это постоянно, поэтому делал это все время.
«Комментарии и документация, хах...»
Комментарии в программе были. Это была простая программа для создания простых чисел, но сила привычки - страшная вещь.
Каждый класс имел комментарии про метод.
«Ох, точно, нет документа. Надо сделать...»
Ёнхо начал писать документ со спецификацией без каких-либо ожиданий...
У него был хороший пример.
Это документ, связанный с открытым исходным кодом maut, написанный Сон Сокхо, и другие документы, относящиеся к различным программам, которые они сделали при подготовке к премии NetFlax .
«Никаких результатов».
Разработка программы для NetFlax не приносила результатов. Она не была написана, так как результат был неизвестен.
Напротив, в документах, связанных с maut, было много написано, включая тестовые данные и результаты для тестовых данных.
Программа имела простую структуру.
Вы ввели значение A.
И должны получить на выходе Z.
Она состоит из ввода и вывода и процесса в середине.
Ёнхо задокументировал программу простого числа, сославшись на документ с разъяснением открытого исходного кода программы maut.
***
* Грохот *
Внезапно встав, Ёнхо открыл рот.
Стоя с широко открытым ртом, он глубоко задышал, успокаиваясь. В конце концов, он закрыл рот.
«Это работает. Работает. Черт!»
Он запустил программу, которая генерировала простые числа до 100. Затем в окне багов выскочило уведомление об ошибке.
Название: Ошибка подсчета простого числа.
Содержание: Текущая программа должна рассчитывать числа до 50. Текущий результат рассчитывается до 100.
Решение: Изменить значение i в операторе цикла в строке 35 в Main.class: 100 на 50.
Результат, которого добивался Ёнхо, появился в окне багов.
«Ёнхо, ты... ты в порядке?» - спросил Сон Сокхо, беспокоясь.
Ёнхо, сильно взволнованный, не слышал его.
«Прости, эй? Ёнхо?»
Открывать и закрывать рот, глядя в одну точку, было признаком сумасшествия.
Сон Сокхо заволновался сильнее, зная о случаях, когда программисты сходили с ума.
Он встал и пошел к Ёнхо.
«О?»
На экране была программа для создания простых чисел. Кажется, успокоившись, Ёнхо взглянул на Сокхо.
«Готово. Главный разработчик!»
«Что?»
«Все получилось. Это работает!»