1. Java / Говнокод #25697

    +2

    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
    super(
                new TkWithHeaders(
                    new TkVersioned(
                        new TkMeasured(
                            new TkFlash(
                                new TkAppFallback(
                                    new TkAppAuth(
                                        new TkForward(
                                            new TkFork(
                                                new FkHost(
                                                    "relay.jare.io",
                                                    new TkFallback(
                                                        new TkRelay(base),
                                                        req -> new Opt.Single<>(
                                                            new RsWithType(
                                                                new RsWithBody(
                                                                    new RsWithStatus(req.code()),
                                                                    new Sprintf(

    Код вполне рабочего проекта

    Запостил: Ray_Mints, 04 Июля 2019

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

    • как бы fluent interface
      Ответить
      • Это fluent interface наоборот. Так делали ещё во времена «Turbo Vision».

        В принципе, с помощью обёрток можно переделать «fluent interface наоборот» во «fluent interface».
        Ответить
    • Хуясе багор.
      Ответить
      • Мне бы женщину - белую, белую
        Ну а впрочем какая разница
        Я прижал бы ее с силой к дереву
        И в задницу, в задницу, в задницу

        Владимир Маяковский
        Ответить
    • do
        do
          do
            do
              do
                do
                  do
                    do
                      do
                        do
                          do
                            do
                              do
                                do
                                  do
                                    do
                                      do
                                        do
                                          do
                                            do
                                              do
                                                do
                                                  do
                                                    do
                                                      do
                                                        do
                                                          do
                                                            local hui = petux
                                                          end
                                                        end
                                                      end
                                                    end
                                                  end
                                                end
                                              end
                                            end
                                          end
                                        end
                                      end
                                    end
                                  end
                                end
                              end
                            end
                          end
                        end
                      end
                    end
                  end
                end
              end
            end
          end
        end
      end
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • procedure TTutorApp.InitMenuBar;
      var
        R: TRect;
      begin
        GetExtent(R);
        R.B.Y := R.A.Y + 1;
        MenuBar := New(PMenuBar, Init(R, NewMenu(
          NewSubMenu('~F~ile', hcNoContext, NewMenu(
            StdFileMenuItems(nil)),
          NewSubMenu('~E~dit', hcNoContext, NewMenu(
            StdEditMenuItems(
            NewLine(
            NewItem('~S~how clipboard', '', kbNoKey, cmClipShow, hcNoContext,
            nil)))),
          NewSubMenu('~O~rders', hcNoContext, NewMenu(
            NewItem('~N~ew', 'F9', kbF9, cmOrderNew, hcNoContext,
            NewItem('~S~ave', '', kbNoKey, cmOrderSave, hcNoContext,
            NewLine(
            NewItem('Next', 'PgDn', kbPgDn, cmOrderNext, hcNoContext,
            NewItem('Prev', 'PgUp', kbPgUp, cmOrderPrev, hcNoContext,
            nil)))))),
          NewSubMenu('O~p~tions', hcNoContext, NewMenu(
            NewItem('~T~oggle video', '', kbNoKey, cmOptionsVideo, hcNoContext,
            NewItem('~S~ave desktop', '', kbNoKey, cmOptionsSave, hcNoContext,
            NewItem('~L~oad desktop', '', kbNoKey, cmOptionsLoad, hcNoContext,
            nil)))),
          NewSubMenu('~W~indow', hcNoContext, NewMenu(
            NewItem('Orders', '', kbNoKey, cmOrderWin, hcNoContext,
            NewItem('Stock items', '', kbNoKey, cmStockWin, hcNoContext,
            NewItem('Suppliers', '', kbNoKey, cmSupplierWin, hcNoContext,
            NewLine(
            StdWindowMenuItems(nil)))))),
          NewSubMenu('~H~elp', hcNoContext, NewMenu(
            NewItem('~A~bout...', '', kbNoKey, cmAbout, hcNoContext,
            nil)),
          nil))))))
        )));
      end;
      Ответить
      • показать все, что скрытоvanished
        Ответить
        • Декларативный — это когда он лежит в ресурсах (например, для «Windows» в RC-файле). А тут мы последовательно создаём кирпичики и приклеиваем их друг к другу.
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • RC (resource compiler) — чисто декларативный язык. На нём можно только перечислить ресурсы.

              А тут мы последовательно нанизываем один объект на другой. Можем даже клонировать объекты, чтобы использовать их позже. Можем в процессе сборки меню производить вычисления в чисто императивном стиле, производить побочные эффекты.
              Ответить
              • В 'J' гуй декларативный, но лежит всегда в том же исходнике в строковом литерале. Хотя описание формы можно положить в отдельный файл, там будет что-то типа:
                pc parentControl; pn "Заголовок";
                
                cc doPizdato button; cn "Сделать пиздато"
                А загрузить можно так:
                wd fread 'file'
                wd 'pshow'
                Правда я ни разу не видел чтоб так делали.
                Ответить
            • Хотя я, кажется, понимаю, о чём ты. Данный фрагмент внешне похож на декларативный, хотя и написан на императивном языке (тут вызовы конструкторов и методов, передача указателей).
              Ответить
      • О да, эти тильдочки для хоткеев...
        Ответить
    • показать все, что скрытоvanished
      Ответить
    • Бля, да это же SwiftUI за надцать лет до SwiftUI
      Ответить
    • говно
      Ответить

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