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

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

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

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

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

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

28 Комментариев

  • Brughmeister
    Комментарий скрыт. Показать

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

    27
  • ILYA
    Комментарий скрыт. Показать

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

    26
    • celeir
      Комментарий скрыт. Показать

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

      2
    • Lator
      Комментарий скрыт. Показать

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

      4
  • sleepwalker
    Комментарий скрыт. Показать

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

    27
  • chaotic_neutral
    Комментарий скрыт. Показать

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

    8
  • mrtwister33v
    Комментарий скрыт. Показать

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

    7
  • Galactrix
    Комментарий скрыт. Показать

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

    20
  • BBKing
    Комментарий скрыт. Показать

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

    0
  • THE_MASTERPLAN
    Комментарий скрыт. Показать

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

    4
  • Lator
    Комментарий скрыт. Показать

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

    2
    • Комментарий скрыт. Показать

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

      4
    • Lator
      Комментарий скрыт. Показать

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

      1
  • MOZR
    Комментарий скрыт. Показать

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

    2
  • Zumzoom
    Комментарий скрыт. Показать

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

    0
  • ChuJung
    Комментарий скрыт. Показать

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

    2
  • roolic
    Комментарий скрыт. Показать

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

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

    1
    • Комментарий скрыт. Показать

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

      1
    • Mishail
      Комментарий скрыт. Показать

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

      0
    • roolic
      Комментарий скрыт. Показать

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

      2
    • Комментарий скрыт. Показать

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

      0
  • Alexandru
    Комментарий скрыт. Показать

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

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