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

    +8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    Объявление метода в интерфейсе:
    
    @NotNull
    List<ServicePojo> getAvailableServices(boolean withoutOffer);
    
    реализация:
    
    @NotNull
    @Override
    public List<ServicePojo> getAvailableServices(boolean withOfferService) {
    ...
    }

    Запостил: moonson, 04 Августа 2017

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

    • сурово. что б жизнь малиной не казалась.
      Ответить
      • Вот именно поэтому енумы в параметрах читаются гораздо лучше бульонов.
        Ответить
        • энумы на все булы заводить весьма напряжно. в прошлом лично пробовал. через какой-то время начинаешь в них путаться.

          к слову, в каком то линте давеча видел птичку для проверки имён аргументов в наследуемых классах. раньше не знал зачем - но вот после этого, начинаю догадыватся.
          Ответить
          • > через какой-то время начинаешь в них путаться

            Если енумы разных типов, компилятор не даст запутаться.
            Ответить
            • "ни компайла без ошибки." большое счастье.

              к слову, еще одна альтернатипа это делать алиасы для true/false. недавний пример из жизни: unknown/known. енум не получается, потому что кодогенератор не умеет - но я больше вводил потому что там логика наоборот (тру == неизвестно, фолс == известно).
              Ответить
              • > это делать алиасы для true/false
                Это никак не помогает в коде подобном тому, что в топике.
                А вот енумы помогают.
                public enum OfferStatus { WithOffer, WithoutOffer }
                
                List<ServicePojo> getAvailableServices(OfferStatus offerStatus) {
                    if (offerStatus == OfferStatus.WithOffer) // нужно постараться, чтобы ошибиться
                }
                Ответить
              • Лучше уж компайл с ошибкой, чем запуск с ошибкой.

                Просто столько раз видел и перепутанную местами пару бульонов и попутанные негатив/позитив... И сам так залетал...
                Ответить
    • А что не так?
      Ответить
      • Я правда не понимаю что не так. Параметр назван по другому, ну и что? Смысл то не противоположный.
        Ответить

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