Краткий взгляд на угасающую вменяемость программистов Valve, запечатленную в коде Team Fortress 2
Во второй половине апреля стало известно, что у Valve случилась серьезная утечка исходного кода CS:GO и Team Fortress 2. По словам представителей студии Гейба Ньюэлла, утечка не представляет никакой угрозы, тем более, что этот код уже попадал в сеть пару лет назад. Однако даже если хакерам доступ к этой информации не поможет, то это не значит, что в коде нет ничего интересного.
Как продемонстрировал ютубер shounic в своем видео пару дней назад, код Team Fortress 2 набит множеством интересных комментариев разработчиков. Причем выглядит это так, словно постепенное угасание адекватности под действием всех тех костылей, которые программисты добавили для функционирования игры.
Примерный перевод комментариев из кода TF2:
- Это самый простой способ, который я нашел для обновления целей при переключении карт.
В список задач. Это идиотство. - Заметка: Это не особенно эффективно. Очень жаль!
- Это тупой фикс, но у меня нет времени на чистое внедрение.
- Это плохой способ по внедрению спрайтовых фонтов в стиле HL1, но пока сойдет.
- Это выглядит, как плохая идея, но пока сойдет.
- Надо переместить и изменить размер. Это ужасно, но VGUI заставил сделать это.
- Исправить: Код не учитывает дочернюю иерархию... очень жаль!
- Жуткое векторное сальто, пришедшее из раннего кода, WTF?
- Мультипоточный кошмар. Это приведет к вылету!
- Этот код портировался сложно. Что за фигню он делает?
- Я не знаю почему, я не хочу знать почему, я не должен задаваться вопросом, но по какой-то причине эта тупая панель не ложится корректно, если мы не сделаем этот кошмар
- Используй EPSILON, черт подери!!
- Это катастрофически ужасно, не делай так. Кто-то должен исправить это
- Да, это приводит к утечке памяти. Очень жаль!
- Это плохой, тупой код, но самое главное, это плохой и тупой код, который тут не имеет смысла...
- Я надеюсь, что этот код настолько плохой, что мне больше никогда не позволят писать UI-код снова
- ЭТО ДЕРЬМО НЕ РАБОТАЕТ!! ПОЧЕМУ?
- Это какое-то убогое дерьмо.
- Это совершенно *** тупо.
- Это ужасный способ выполнения задачи!
Больше статей на Shazoo
- Valve передала исходный код Team Fortress 2 моддерам
- Valve подтвердила продолжение официального комикса Team Fortress 2
- Уже 15% геймеров Steam выбирают для игры контроллеры — почти 60% из них на Xbox
Тэги:
28 комментария
Ну, а чо? Звучит по кодерски!
Типичный костыльный код)
@ILYA, когда в тиму приходит молодой-зелёный и говорит: "Тут бы всё переписать красиво" - все лишь снисходительно улыбнутся. На красиво времени нет, надо уметь качественно закостылить
@celeir, просто с опытом приходит понимание того, что нужно соблюдать баланс между "переделать половину проекта ради красивого внедрения маленькой фичи" и "подпирать каждую задачу костылём, что бы потом в них навсегда заблудиться", не ударяясь ни в одну из крайностей)
Если бы все продукты продавали программисты, они бы никогда не вышли в релиз.
@sleepwalker, с другой стороны. если бы не эти программисты - и продавать бы было нечего)
Нам как-то передали проект от старой команды, так они засунули нам порно-арт в ресурсы, как послание :)
Лол, у меня на проекте такая же херня только без комментариев)
Нормально. Я много таких коментов в коде видел. Мой любимый "Я не понимаю как и почему это работает" :)
QA создает задачу - избавиться от хардкода.
Девелопер через пару дней закрывает задачу как сделанную.
Тот же девелопер через пару дней, а давайте захардкодим и ноу проблемс!
Лол, я на секунду представил комменты в исходниках беседки)
@THE_MASTERPLAN, там скорее всего предсмертные записки самоубийц в 10 томах.
Нормальные комментарии, главное что бы рядом с ними FixMe или ToDo стояло)) А в целом, часто в ситуациях "можно сделать костылём, но быстро, или красиво, но долго" вопрос просто адресуется заказчику/менеджеру/руководителю, и уже он решает, хочет он быстро сейчас, но возможные проблемы потом, или наоборот.
@Lator, Нет ничего более постоянного чем временное)
@colan82, это уже вопрос приоритетов. При грамотном управлении время на разгребание технического долга периодически выделяется, а неграмотное угробит проект независимо от качества кода, который пишут программисты))
Выдержки из романа: "Как оптимизируют игры".
Звучит как комменты от одного человека.
А что тут невменяемого? Обычные комменты к костылям
@ChuJung, похоже только прогеры в комментах не находят ничего смешного. Для них это болезненная реальность)
@Noll, почему болезненная:)
терпеть не могу этих умников. написать и вкоммиттить камент он время нашел
а сделать однострочный фикс - нет. не царское ж это дело. корона ж упадет. ля
@roolic, вы наверное не поняли, что в проекте на подобной стадии "однострочный фикс" породит только еще больше подобных комментов в будущем.
@dentonjc, эм, каким образом замена магической константы, хоть и очевидной, на именованную породит больше подобных комментариев?
@dentonjc, сам факт наличия подобной писанины в коде говорит об отсутствии культуры, а также культуры разработки, а также культуры командной работы. ну вот какой смысл писать гадости в коде, который если и прочитают, то только твои коллеги? стадия проекта не имеет значения.
@roolic, мне кажется, вы теоретизируете, не имея фактического опыта работы, о которой пытаетесь рассуждать :-)
Обычные комментарии. А вот заголовок странные, выглядит как намеренное очернение вэлв.
@Alexandru, это шутка — само же видео так называется
@Cohen, ну что я могу сказать...