Читаем Кодер Ли Ёнхо полностью

«Эта ошибка - особый случай. Во всяком, будут ли покупатели осуществлять транзакцию, которая вызывает такую ошибку…?» - затихая, сказал сотрудник извиняющимся тоном. Со Джошин казался разочарованным, и он повысил голос:

«А что если это произойдет?»

«Тогда вы разве не можете просто поменять POS?»

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

Из-за реакции Со Джошина сотрудник взглянул на Ёнхо.

«Помощник менеджера, давайте выйдем покурить?»

Чуть позже Со Джошин вернулся из кооперативной компании. Затем он посмотрел на Ёнхо, который сидел в офисе.

«Г-н Ёнхо. Я слышал, что вы устранили ошибку транзакции в программе POS, когда только пришли компании... Вы можете исправить и эту тоже?»

Проблема перешла к Ёнхо.

Конечно, он может исправить это. Это была не его область, поэтому до сих пор он не вмешивался, но когда Со Джошин попросил, он тихо кивнул.

Глава 57. Специалист по разработке (3)

«Для меня не проблема исправить это, но вы используете фреймворк CI (Continuous Integration - досл. непрерывная интеграция)?» (*CI - программа, позволяющая нескольким программистам работать над одним проектом)

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

Ёнхо продолжил говорить, потому что они молчали.

«Hudson или Jenkins. Вы не используете что-нибудь подобное?»

Hudson был самым известным из CI фреймворков. Hudson был разработан как открытый исходный код, но открытая экосистема слетела, когда компания мирового уровня по разработке приобрела компанию, которая имеет лицензию Hudson. Позже разработчики Hudson создали Jenkins.

Она автоматически делает все от создания программы до сборки исходного кода, который разработали другие люди, осуществляет тестирование и дистрибуцию программы. Кроме того, она имеет функцию создания журнала, содержащего информацию о коммитерах, разработчиках и даже распространителях программы.

«Это действительно необходимо?»

«Да. Это определенно необходимо», - сказал Ёнхо коротко.

Он не хотел испытать то же самое, когда впервые стал работать. Для того, чтобы сделать это, необходима CI программа. Программа создавала запись, когда и кто редактировал код и построил программу, чтобы он мог сразу обнаружить того, кто ошибся.

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

Он контролировал не только разработку программы, но и поддержку для разработки.

«П-прямо сейчас у нас нет такого...»

«Наша команда уже сделала CI-сервер, так что вам нужно только добавить туда проект. Также у нас есть среды не только компиляции java, но и другие языки, которые часто используются в нашей компании, такие как C или C#».

«П-правда?»

Правая нога Со Джошин задрожала.

Наступила эпоха, когда знания были силой.

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

«Ну, CI-сервер также использует интрасеть, так или иначе. Так что не возникнет проблем с использованием его вашей командой. Я буду настраивать среду, поэтому, пожалуйста, скажите мне адрес проблемного кода».

Сотрудник был смущен.

«... Адрес исходного кода?»

«У вас есть место, где вы храните коды, верно? SVN, GIT или что-то такое».

«Да, у нас есть SVN. Я отправлю вам адрес сообщением».

Выражение лица работника, которое становилось все темнее и темнее, наконец прояснилось. Казалось, он был рад, что появилось хоть одно знакомое слово.

В этот момент лицо Ёнхо, смотрящего на этих двух, потемнело. Его беспокоило, насколько плохим окажется код POS-программы.

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

То, чему научил Ёнхо Сон Сокхо, было понимание, что к кодированию нужно относиться как к письму.

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

Однако Ёнхо был предоставлен действительно код только с if- и for-операторами.

«Ах...»

Как только он открыл код, его голова заболела. C#, как и java, это объектно-ориентированный язык программирования. Однако Ёнхо не увидел ничего похожего в коде на инкапсуляцию и полиморфизм даже после того, как протер глаза.

«Здесь повсюду if-операторы».

Для реализации различных вариантов, которые могли произойти при использовании POS-программы, использовались многочисленные if-операторы.

if (cashTransaction == true)

if (cardTransaction == true)

if (couponTransaction == true)

if (giftCardTransaction == true)

if (pointTransaction == true)

Часть кода, которую читал Ёнхо, состояла из пяти ветвей. Когда она закончится, это будет большим облегчением.

Перейти на страницу:

Похожие книги