Это мой рассказ о сегодняшнем трехчасовом домашнем задании для стажировки.
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.
Я БОЛЬШЕ НЕ ПОНИМАЮ.
Автор: Программист, который был очень зол (я)