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

    +88

    1. 1
    FloatFactoryFactory.getInstance(FloatFactoryFactory.defaultInstanceDescriptionString).getFactory(Locale.getLocale("en-US")).createBuilder().setString("1.5").getResult()

    http://bash.org/?946461

    Запостил: da4ever, 06 Октября 2011

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

    • [KO]можно ещё
      String myFloat = String.format("%f", 1.5f);
      // а ещё
      myFloat = Float.toString(1.5f);
      [/KO]
      Ответить
    • 1. Очевидная синтетика (FloatFactoryFactory)
      2. Башорк.
      Несмотря на это плюсанул.

      Но все это херня конечно. Вот пример хороших и правильных паттернов.
      http://www.phppatterns.com/docs/design/hello_world_in_patterns
      Ответить
      • хорошая пародия на тех джавистов, кто доизучался паттернов до сворачивая мозгов
        Ответить
        • Причем тут джависты, Lure Of Chaos?
          Мне всегда казалось, что паттерны не имеют привязки к языку.
          Ответить
          • потому что почему-то именно они БОЛЕЕ склонны злоупотреблять паттернами - в отличие от пхпшников, которые любят код типа "простыня"
            Ответить
          • Java буквально заставляет мыслить классами и шаблонами. Почти во всех остальных языках у программиста есть больше свободы в выборе парадигмы.
            Ответить
            • Шаблоны появились только в 5-ой жабе.

              К вопросу о выборе парадигмы:
              именно для жабы сделали первую имплементацию АОП и одними из первых ввели рефлексию для статически типизированного языка.

              Но тут речь наверное о модной нынче функциональщине, и то что её в яве нет - еще не говорит, что кто-то кого-то заставляет лепить паттерны.
              Ответить
              • Под шаблонами я имел в виду Design Patterns, а не Generics. Generics - это совсем не те шаблоны, что используются в C++.

                В Java есть базовые средства, чтобы организовать AOP, но их очень сложно назвать удобными.

                Да что там говорить о функциональщине... просто функцию объявить вне класса нельзя :)
                Ответить
                • > Generics - это совсем не те шаблоны, что используются в C++.
                  очень бы хотелось перевести их как "обобщения", но для меня они выглядят, как сужения типа.
                  Если в С++ это действительно шаблоны для автоматической генерации перегрузки (поправьте меня, если я неправ), то в Java, как я лично для себя интерпретирую, как сужение типа там, где должен бы быть Object, до конкретного класса, интерфейса или других ограничений по иерархии.
                  Ответить
                  • Да, это просто ограничения (bound) на тип, подсказка компилятору. Они практически не приводят к генерации нового кода (компилятор всё-таки иногда генерирует "мосты"), в отличие от шаблонов в C++, где для каждого нового аргумента шаблона генерируется новый исполняемый код.
                    Ответить
            • Сюда можно любой "чисто объектный" язык приписать. Хотя бы даже C#.
              Ответить
      • > Вот пример хороших и правильных паттернов.

        мама, роди меня назад.
        Ответить
        • А это всего лишь хелловорлд!
          *trollface*
          Ответить
          • Нужно обязательно учредить конкурс "написать как можно более странный, запутанный и огромный хелловорлд за 10 минут".
            Ответить
    • >FactoryFactory
      ПРИШЛО ВРЕМЯ ПИСАТЬ ФАБРИКУ АБСТРАКТНЫХ АБСТРАКТОВ
      Ответить

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