1. C++ / Говнокод #12902

    +7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    MashTextGen::MashTextGen()
    {
    	files.push_back("BarButton.cpp");
    	files.push_back("CreateBar.cpp");
    	files.push_back("Eventfulness.cpp");
    	files.push_back("Glob.cpp");
    	files.push_back("main.cpp");
    	files.push_back("mashtextgen.cpp");
    	files.push_back("MashWindow.cpp");
    	files.push_back("Note.cpp");
    	files.push_back("NotificationBar.cpp");
    	files.push_back("Render.cpp");
    	files.push_back("RogueWindow.cpp");
    	files.push_back("WorldWindow.cpp");
    	files.push_back("BarButton.h");
    	files.push_back("CreateBar.h");
    	files.push_back("Eventfulness.h");
    	files.push_back("Glob.h");
    	files.push_back("main.h");
    	files.push_back("mashtextgen.h");
    	files.push_back("MashWindow.h");
    	files.push_back("Note.h");
    	files.push_back("NotificationBar.h");
    	files.push_back("Render.h");
    	files.push_back("RogueWindow.h");
    	files.push_back("WorldWindow.h");
    	
    	LoadMoreData();
    	picker = 0;
    }

    Я так и не понял зачем этот код.
    Найдено в опенсорсной игре.

    Запостил: x0m9k, 17 Апреля 2013

    Комментарии (30) RSS

    • Выводят ХАКИСРКИЙ код на экран, типа как ХАКИРТЮПЕР?
      http://hub.darcs.net/PTSnoop/7DRL_2013/browse/MashWindow.cpp

      Кстати, чтение этих файлов тоже доставляет:
      while ( myfile.good() )
      {
      	getline (myfile,line);
      	alldata += line;
      	alldata += "\n";
      }
      Ответить
      • > http://hub.darcs.net/
        Судя по всему, весь список пользователей darcs легко помещается на одной странице...
        Ответить
        • о. дакрс вроде же как бы уже закрывал разработку? надо глянуть что там к чему. лет 7-8 назад пользовался: за исключением тормознутости, была весьма "ОК" DSCM.
          Ответить
          • Я года 4 назад хотел попробовать, но так и не решился, взялся за git.
            Читал ещё тогда работу автора (физика по образованию) об алгебре патчей, выглядит довольно интересно. Может, попробую как-нибудь на досуге. А тормознутость, насколько я понимаю, из-за экспоненциальной сложности стратегии мёржа.
            Ответить
            • >из-за экспоненциальной сложности стратегии мёржа.
              Она у него неправильно выбрана?
              Ответить
            • "А тормознутость, насколько я понимаю [...]"

              даркс в те времена тормозил немеряно потому что структура репозитории была весьма тривиальная: подкаталог на бранч, бранч был просто списком патчей. вычекивание бранча и многие другие подобные операции были простым последовательным применением/откатом патчей. даже на репозитории самого даркса (с парой другой тысячей патчей в те времена) это занимало временами пару минут.
              Ответить
              • А какие сейчас для этого структуры выбирают?
                Ответить
                • точно не знаю. в гите вроде, файлы бьются на блоки (типа как сектора на диске), и на ревизию сохраняются только измененые блоки. когда нужно вычекивать, гит вычисляет какие блоки различаются, какие блоки нужно вытянуть из репы и только эти блоки и переписывает. вроде как поэтому он и маштабируется по количеству файлов и по количеству бранчей. там еще куча оптимизаций типа дедупликации одинаковых блоков: все одинаковые файлы/фрагменты файлов во всех бранчах в репе гита хранятся ровно в одном блоке.

                  если тебя такие вещи в деталях интересуют, я рекомендую почитать общую теорию (и практику) файловых систем. большинство вещей такого типа (репы SCM, дисковые бэк-энды миддлваре, дисковая структура ДБ, и т.д.) почти буквально следуют высокоуровневому дезайну файловых систем.
                  Ответить
                  • У гита два формата хранения объектов. Глупый и простой (просто загзипанный контент) и более сложный, основанный на эвристиках, учитывающий патчи. Вот тут написано более подробно:
                    http://git-scm.com/book/en/Git-Internals-Packfiles
                    Ответить
    • Ъкрестобляди не пользуются всякими make'ами и прочей фигней. Только Ъкрестоблядская система сборка, которая позволяет писать на крестоблядском крестоязыке
      Ответить
      • Они просто завидуют хацкелю и решили возвести ленивость в абсолют - сорцы компилируются по мере прохождения игры
        Ответить
        • надо было их писать по мере прохождения
          Ответить
          • К сожалению, эта идея уже запатентована яблочниками: их карты рандомно генерятся по мере продвижения по ним.
            Ответить
          • Кстати, мы на работе обсуждали эту тему, когда разговаривали об удобстве интерпретаторов. Типа есть выполняющаяся программа в которое есть баг, коннектишься к ней, заменяешь определение бажной функции, профит.
            Откуда родилась идея RealTime Oriented Programming, когда код приложения пишется непосредственно в процессе использования приложения. Нажал пользователь кнопку, показывается спиннер "Подождите, идёт реализация функционала...". А программист в это время подорвался и пилит фичу.
            Ответить
            • Так уже один раз ПочтуРоссии придумали и Сбербанк, больше не надо!
              Ответить
            • > А программист в это время подорвался и пилит фичу.
              В комплект поставки входят 10 индусов?
              Ответить
              • Идёт воздушный бой. Вьетнамца догоняют американские самолёты. Он нажал первую кнопку — МиГ резко ускорился. Американцы выпустили ракеты. Он нажал вторую кнопку — МиГ сделал противоракетный маневр. Но тут раз! — сверху ещё звено американцев в атаку на него заходит. Он жмёт третью кнопку и слышит сзади:
                — Ну-ка, узкоглазый, от штурвала отодвинься, ща мы их уделаем…
                Ответить
            • А откуда взялась кнопка без обработчика?
              Ответить
              • Из репозитария
                Ответить
              • Разумеется, должны быть определены граничные условия: в ачале у пользователя пустой экран и в контекстном меню есть пункт "Добавить кнопку".
                Ответить
                • Тогда после нажатия кнопки пользователь должен видеть модальное окно с формой для загрузки ТЗ и предоплаты.
                  Ответить
    • У меня нашелся старший брат, уиииии :3
      Ответить
      • Настоящий хомяк в своей жизни должен сделать три вещи: пожрать, поспать и найти старшего брата.
        Ответить
      • А это случаем не ты сам прибыл из будущего, чтобы передать молодому самому себе очень важное сообщение?
        Ответить
        • очень смахивает на то, ведь выше как раз технологии будущего обсуждаются.
          Ответить
          • Мне нужен твой компилятор, линковщик и система контроля версий.
            Ответить
    • Говно - quin?
      Ответить

    Добавить комментарий