Это мой рассказ о сегодняшнем трехчасовом домашнем задании для стажировки.

1. Начало, счастье и ранние этапы

Счастливого 18 марта я получил сообщение, чтобы выбрать дату, когда выполнять задачу ООП на выбранном языке. Поскольку я подал заявку на должность веб-разработчика, я выбрал JavaScript, потому что именно этим я занимался последние несколько месяцев.

2. Установите дату и время теста

После долгих и тщательных размышлений и размышлений (например, 15 минут и 3 кофе позже) я решил сделать это за два дня, 20 марта в 16:00.

Звучит неплохо, у меня есть время снова пройтись по некоторым основам. Ничто не может остановить меня. Я люблю JavaScript, все будет хорошо.

3. Как сделать статический член? Подождите, есть ли интерфейсы?

Ухххххххххххх… Видимо, придется импровизировать, посмотрим… ES5, замыкания, наследование function.prototype.call… э-э-э…

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

Наследование? Проверять.

Статический член? Проверять.

Частный метод? Проверять.

Интерфейс? :(

Абстрактные методы? :(

Полиморфизм? Брух, JS даже не сообщит мне, имеет ли переменная ЛЮБОЕ значение. И вы ожидаете, что он сообщит вам о «нереализованном методе» DUH. Так я сказал себе.

Плачет уже. Я могу осуществить это.

4. Приходит тест, и я погружаюсь в него

Как и со всеми важными вещами, как только я получил тест, через 10 минут чтения я должен посетить ванную… Это хорошее начало (как будто).

Через 30 минут у меня есть основная идея реализации, написанная в Блокноте (не ругайте меня, пожалуйста).

Начинать. Кодирование. В настоящее время.

Писать код, как серферы, оседлавшие цунами, самолеты, летящие в небе, или тот чувак, который последние 10 минут подтягивался на перекладине.

Кодекс летает вокруг, уверенно идет в силе.

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

Вау, это было интересно, я справился.

5. Разочарование

Через несколько часов я хотел вернуться в локальное репо, чтобы внести изменения и прочее, я хотел исправить одну ошибку (они сказали, что это не должно работать).

Через некоторое время исправления ошибки я понимаю.

Эй, подожди. Используется ли эта переменная?

Подождите, подождите, подождите, это значение существует или нет?

Эта штука бежит? Почему это работает? Откуда берется это значение?

ЗАЧЕМ КОМУ-ТО НУЖНО НАПИСАТЬ ТЯЖЕЛЫЕ ПРОГРАММЫ НА JAVASCRIPT.

Я БОЛЬШЕ НЕ ПОНИМАЮ.

Автор: Программист, который был очень зол (я)