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

    +77

    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
    public static void main(String[] args) {
            testIndiaLazy();
        }
    
        private static void testIndiaLazy() {
            LazyInstantiator lazyInstantiator = new LazyInstantiator();
            lazyInstantiator.getInstance();
            lazyInstantiator.getInstance();
        }
    
        public static class LazyInstantiator {
            private Object instance;
    
            public Object getInstance() {
                System.out.println("getInstance");
                if (instance != null || create());
                return instance;
            }
    
            private boolean create() {
                System.out.println("create");
                instance = new Object();
                return true;
            }
        }

    Out:
    getInstance
    create
    getInstance

    Запостил: dmli, 24 Февраля 2015

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

    • Дядя, ты - гений просто!
      Ответить
    • > if (instance != null || create());
      Офигенная конструкция! Въебал плюс за неё.

      P.S. Остальная часть кода уныла, можно было её не постить.
      Ответить
      • без остальной части может быть непонятно зачем такое серьозное дерьмо
        Ответить
      • >Офигенная конструкция
        Вычисление по короткой схеме. Ничего необычного.
        Ответить
        • Но ведь оно внутри ифа с пустым телом! Такое рукотворное чудо я первый раз встречаю.
          Ответить
          • Автор видимо из рубиперла пришел
            там практикуется

            instance ||= create()

            А тут он его под местные жабареалии подвернул. Ничего волшебного.
            Ответить
            • руби/перлов не изучал)
              Ответить
              • Попался! теперь не отвертишься, что не твое!
                Ответить
                • код был использован на продакшене под чутким руководством и постоянным присмотром дежурных
                  Ответить
                  • Дык ты хвалишься, вон оно че.

                    Есть тут у нас один гений - 16ичную систему исчисления придумал как расширение 8ичной
                    Ответить
                    • будем с ним книгу писать
                      Ответить
                      • Скорее рисовать
                        Ответить
                        • в файлах которые хранят массивы с информацией о координате и цвете
                          Ответить
                          • На асфальте.... Белым мелом... Слово "Хватит"...
                            Ответить
                            • с позволения, пусть будет подписью к иллюстрации, отображающей процесс
                              Ответить
        • >>>Вычисление по короткой схеме. Ничего необычного.
          уверяю, Вас, это самая короткая схема: пустой if без else для вычисления результата функции...
          Ответить
    • Потокобезопасненько.
      Ответить
      • Лиса, а ты во весь код потокобезопасность суешь?
        Ответить
    • return create() ? istance : istance;
      Ответить
    • vanished
      Ответить

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