Краткий взгляд на угасающую вменяемость программистов Valve, запечатленную в коде Team Fortress 2

Во второй половине апреля стало известно, что у Valve случилась серьезная утечка исходного кода CS:GO и Team Fortress 2. По словам представителей студии Гейба Ньюэлла, утечка не представляет никакой угрозы, тем более, что этот код уже попадал в сеть пару лет назад. Однако даже если хакерам доступ к этой информации не поможет, то это не значит, что в коде нет ничего интересного. 

Как продемонстрировал ютубер shounic в своем видео пару дней назад, код Team Fortress 2 набит множеством интересных комментариев разработчиков. Причем выглядит это так, словно постепенное угасание адекватности под действием всех тех костылей, которые программисты добавили для функционирования игры.

Примерный перевод комментариев из кода TF2:

  • Это самый простой способ, который я нашел для обновления целей при переключении карт. 
    В список задач. Это идиотство.
  • Заметка: Это не особенно эффективно. Очень жаль!
  • Это тупой фикс, но у меня нет времени на чистое внедрение.
  • Это плохой способ по внедрению спрайтовых фонтов в стиле HL1, но пока сойдет.
  • Это выглядит, как плохая идея, но пока сойдет.
  • Надо переместить и изменить размер. Это ужасно, но VGUI заставил сделать это.
  • Исправить: Код не учитывает дочернюю иерархию... очень жаль!
  • Жуткое векторное сальто, пришедшее из раннего кода, WTF?
  • Мультипоточный кошмар. Это приведет к вылету! 
  • Этот код портировался сложно. Что за фигню он делает?
  • Я не знаю почему, я не хочу знать почему, я не должен задаваться вопросом, но по какой-то причине эта тупая панель не ложится корректно, если мы не сделаем этот кошмар
  • Используй EPSILON, черт подери!!
  • Это катастрофически ужасно, не делай так. Кто-то должен исправить это
  • Да, это приводит к утечке памяти. Очень жаль!
  • Это плохой, тупой код, но самое главное, это плохой и тупой код, который тут не имеет смысла...
  • Я надеюсь, что этот код настолько плохой, что мне больше никогда не позволят писать UI-код снова
  • ЭТО ДЕРЬМО НЕ РАБОТАЕТ!! ПОЧЕМУ?
  • Это какое-то убогое дерьмо.
  • Это совершенно *** тупо.
  • Это ужасный способ выполнения задачи!
Больше статей на Shazoo
Тэги:

28 комментария

Ну, а чо? Звучит по кодерски!

27

Типичный костыльный код)

26

@ILYA, когда в тиму приходит молодой-зелёный и говорит: "Тут бы всё переписать красиво" - все лишь снисходительно улыбнутся. На красиво времени нет, надо уметь качественно закостылить

2

@celeir, просто с опытом приходит понимание того, что нужно соблюдать баланс между "переделать половину проекта ради красивого внедрения маленькой фичи" и "подпирать каждую задачу костылём, что бы потом в них навсегда заблудиться", не ударяясь ни в одну из крайностей)

4

Если бы все продукты продавали программисты, они бы никогда не вышли в релиз.

27

@sleepwalker, с другой стороны. если бы не эти программисты - и продавать бы было нечего)

1

Нам как-то передали проект от старой команды, так они засунули нам порно-арт в ресурсы, как послание :)

8

Лол, у меня на проекте такая же херня только без комментариев)

7

Нормально. Я много таких коментов в коде видел. Мой любимый "Я не понимаю как и почему это работает" :)

20

QA создает задачу - избавиться от хардкода.
Девелопер через пару дней закрывает задачу как сделанную.
Тот же девелопер через пару дней, а давайте захардкодим и ноу проблемс!

0

Лол, я на секунду представил комменты в исходниках беседки)

4

@THE_MASTERPLAN, там скорее всего предсмертные записки самоубийц в 10 томах.

26

Нормальные комментарии, главное что бы рядом с ними FixMe или ToDo стояло)) А в целом, часто в ситуациях "можно сделать костылём, но быстро, или красиво, но долго" вопрос просто адресуется заказчику/менеджеру/руководителю, и уже он решает, хочет он быстро сейчас, но возможные проблемы потом, или наоборот.

2

@Lator, Нет ничего более постоянного чем временное)

4

@colan82, это уже вопрос приоритетов. При грамотном управлении время на разгребание технического долга периодически выделяется, а неграмотное угробит проект независимо от качества кода, который пишут программисты))

1

Выдержки из романа: "Как оптимизируют игры".

2

Звучит как комменты от одного человека.

0

А что тут невменяемого? Обычные комменты к костылям

2

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

1

@Noll, почему болезненная:)

0

Используй EPSILON, черт подери!!

терпеть не могу этих умников. написать и вкоммиттить камент он время нашел
а сделать однострочный фикс - нет. не царское ж это дело. корона ж упадет. ля

1

@roolic, вы наверное не поняли, что в проекте на подобной стадии "однострочный фикс" породит только еще больше подобных комментов в будущем.

1

@dentonjc, эм, каким образом замена магической константы, хоть и очевидной, на именованную породит больше подобных комментариев?

0

@dentonjc, сам факт наличия подобной писанины в коде говорит об отсутствии культуры, а также культуры разработки, а также культуры командной работы. ну вот какой смысл писать гадости в коде, который если и прочитают, то только твои коллеги? стадия проекта не имеет значения.

2

@roolic, мне кажется, вы теоретизируете, не имея фактического опыта работы, о которой пытаетесь рассуждать :-)

0

Обычные комментарии. А вот заголовок странные, выглядит как намеренное очернение вэлв.

0

@Alexandru, это шутка — само же видео так называется

0

@Cohen, ну что я могу сказать...

0
Войдите на сайт чтобы оставлять комментарии.