«Так что, подумайте об этом хорошенько».
Посиделки продолжались до поздней ночи.
***
Дом Хеджин был в Пундане, а дом Сонгю в Сириме. Ёнхо, который так же, как и Сумин, жил в Каннамском районе, пришлось тащить её домой. Сумин шатало, и он не мог оставить её одну.
«Где твой дом?»
«Там...»
«Где «там»?»
Ёнхо должен был сначала выяснить, где она живет. Он посадил Сумин и взял её паспорт.
Квартира на Баньпо Си.
Это было не так далеко. Он поддерживал Сумин, и вдруг её начало тошнить.
Буээ!
«Сколько ты выпила?»
«Я не собираюсь блевать, понятно? Я просто забавляюсь, ясно?»
Он вспомнил о её холодности, и ему захотелось стукнуть её по голове.
«Сонбэ, ты ненавидишь меня, да?»
«Да».
«Я тоже ненавижу тебя».
«Хорошо».
«Иди к черту!»
Сумин побежала, как сумасшедшая, стряхнув руку Ёнхо. Он был освобожден, она бежала к своему дому. Это было не так далеко. Ёнхо только смотрел, благополучно ли она добралась.
***
Даже когда он пришел домой, слова Сонгю крутились в его голове.
«Что... Что я должен выбрать?»
Он только что нашел удовольствие в программировании. И слепо стремился стать лучшим программистом.
«У меня есть способность, такая как окно багов, поэтому, кажется, я смогу себя прокормить».
Большинство мыслей Ёнхо были об окне багов. Способность видеть баги, которую он получил от удара молнии. Оно не только находило явные ошибки, но также показывало логические ошибки или проблемы эффективности программы.
«Я должен спросить менеджера Ана, когда будет время».
Это не требовало сиюминутного решения. Ёнхо решил посоветоваться с менеджером после завершения проекта и больше об этом не думал.
«Зайду на Stack Overfly».
Это было место, где Ёнхо мог бесконечно оттачивать свои навыки. Каждый день появлялись новые вопросы. Только смотря на эти вопросы, можно считать, что учишься.
И прежде чем он понял это, устранение ошибок на Stack Overfly стало его хобби. Если что-то получается хорошо, то это доставляет тебе удовольствие. Он также обнаружил, что ему интересно, когда его рейтинг повышается. Позиции Ёнхо, которые были в самом низу, неуклонно росли.
«Я не могу ничего решить без исходного кода...»
Способность Ёнхо была одной из серьезнейших проблем. Если программа не запускается перед ним, он не может найти ошибки. Из-за этого он решает меньше вопросов. Он должен был иметь пример кода, и тогда он исправлял их, тестируя программу. Но лишь немногие из вопросов, которые появлялись на Stack Overfly, содержали пример кода.
"Хм... Мне надо написать в своем профиле, чтобы предоставляли код?»
Ёнхо, используя Интернет-переводчик, написал в своем профиле.
– Пожалуйста, прикрепляйте свой код. Мы устраняем все ошибки...
Ёнхо лег пораньше, чтобы насладиться отдыхом после исправления некоторых ошибок, которые появились на сайте.
Глава 29. Комплексные тесты (1)
Открыв на следующее утро Stack Overfly, он увидел оповещение.
«О? Мой ответ снова оценили?»
Он кликнул на оповещение, не ожидая слишком многого, но это было не оценивание ответа. Кто-то задал вопрос конкретно ему.
«Кажется, что люди просмотрели мой профиль».
– Пожалуйста, оставьте свой код. Мы решаем все ошибки.
Было написано там на ломанном английском. Возможно, спрашивающий был совсем в отчаянии, потому что задал вопрос Ёнхо, который имел меньше 100 баллов репутации.
И может быть потому, что в своем профиле Ёнхо поставил тег «JAVA», спрашивающий прикрепил свой код тоже в java. Ёнхо вставил код в Eclipse и запустил его.
В окне багов появилось оповещение об ошибке.
Error constructing Indroid Custom VIEW.
Начиная со слов «рабочий день» в середине вопроса, это выглядело, как будто он мучился с этой проблемой, по крайней мере, неделю.
"Хм... Это не выглядит сложным».
Ёнхо отредактировал конструктор для custom VIEW (*представление, задаваемое пользователем) согласно окну багов. Окно багов всегда показывало наиболее эффективное решение.
«Поэтому разрешение изображения должно быть изменено в соответствии с размером экрана, определенным ОС телефона».
Ёнхо уже закончил редактирование и послал файл по электронной почте, но он все еще сидел перед компьютером.
« GetHub, да...»
Он показывал удивительные навыки в устранении ошибок, но был по-прежнему неопытен в разработке программ. Ёнхо решил зайти на GetHub, чтобы повысить свои навыки по разработке, как советовал Ан Бёнхон.
«Есть много кодов, связанных с Indroid».
На сайте он нашел много кодов, связанных со смартфонами. Особенно касающихся экранов смартфонов.
«Может, и мне загрузить один?»
Ёнхо хотел создать представление, которое он придумал, пользуясь смартфоном.
Представление, где на экране будет эффект разбитого стекла, в месте, до которого дотронутся.
Он подумал, что это было бы интересно.
«Ах... Голова болит».
Однако это определенно было нелегко. Написание кода для представления было сложно даже для ветеранов с 5-ти летним стажем. Это означает, что его навыки улучшатся, если он бросит вызов этому.
Если он не ничего знал, он не мог начать.
«Сначала надо изучить конструктор и необходимые методы».
Ёнхо начал разработку программы, используя различные коды на сайте, не замечая, как проходит время.
Люди говорят, что навык написания программ похож на навык письма.
Много читаешь. Читаешь много хороших кодов.
Много пишешь. Самостоятельно можешь писать различные программы.
Много думаешь. Много думаешь о том, как сделать программу лучше.
Ёнхо тщательно делал эти 3 вещи. Загруженный график проекта заставил его читать различные коды. Он мог сравнить хорошие и плохие коды и заменить некоторые части наиболее эффективным кодом, которые предлагало окно багов. Но также Ёнхо не просто слепо следовал окну багов.
Он стремился понять, почему это было так, и пытался придумать способ еще лучше.
Эти усилия, которые он прикладывал в повседневной жизни, превратились в уверенность для создания настраиваемого представления.
***
Модульные тесты закончились через 2 недели. Большинство людей, которые участвовали в проекте КО-Телеком, сказали, что больше никогда не будут работать с их проектами.
Ёнхо хорошо прокачал свои навыки, но он чувствовал, что его здоровье пошатнулось, несмотря на то, что ему было только 20 лет. Менеджер лично позвал Ёнхо, который занимался подготовкой комплексных тестов после завершения модульных тестов.
«Вы действительно сделали все это?»
Менеджер посмотрел на отчет Ёнхо и снова спросил его.
«Что вы имеете в виду, сэр?»
«Я об отчете о результатах теста. Я увидел, что больше половины результатов здесь - ваши».
«А, тогда, вероятно, это я».
После той ситуации с сердечным приступом работа перешла к Ёнхо. Ёнхо, слушаясь менеджера Ана, исправлял ошибки без промедления. И результаты были в документе.
«Я позвал вас сюда, потому что я думаю, что это невозможно. Однако менеджер Ан подтвердил, что это были вы».
Ёнхо заговорил, потому что менеджер проекта не верил ему.
«Я сделал все возможное».
«Не важно, старались вы или нет, такого просто не могло случиться по моему опыту».
«...»
«Если вы говорите, что сделали это, значит, возможно, так оно и есть. Комплексные тесты начнутся завтра. Сделайте все возможное и там тоже».
Имя Ёнхо теперь крепко засело в голове менеджера проекта.
***
Комплексные тесты.
После модульных тестов началось нечто, известное как комплексные тесты. Это были тесты, в которых совместно тестировались модули.
Разработанные программы можно представить разделенными на «поезд», «рельс», «кассу» и т.д. При модульном тестировании тестироваться будет каждый поезд, рельс, касса сами по себе.
Комплексные тесты тестируют клиента, который пойдет в кассу, чтобы купить билет и попасть на поезд, который стоит на рельсах.