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

    0

    1. 1
    2. 2
    if (Boolean.TRUE.equals(planItem.isIgnoredPurchase()))
            {

    Запостил: vistefan, 21 Марта 2020

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

    • Нормальный, идиоматичный код.
      Ответить
      • Сначала удивился комментарию, потом посмотрел на раздел кода. Действительно, правильно и идиоматично.[‍/color]
        Ответить
        • Если isIgnoredPurchase возвращает Boolean, то в нём возможен null.

          И обычный if (planItem.isIgnoredPurchase()) кинет NPE. Именно поэтому Boolean.TRUE стоит спереди.

          Edit: ну всяко же лучше Optional<Boolean>
          Ответить
          • Погуглил. Действительно, ТРОИЧНАЯ ЛОГИКА!

            Пиздец, конечно.
            Ответить
          • За возврат Boolean, а не boolean нужно же бить по рукам?
            Ответить
            • Нужно. И тем не менее я повидал ОЧЕНЬ много такого кода.

              Бывают всякие dto, маппинги на xml/json где флаг например необязательно будет.
              Можно конечно и там не писать Boolean. Но это же жавашки. Они просто ебошат код, не особо задумываясь.
              Ответить
          • Поэтому я за C++ (ну и немного за C#).
            Вот в нашем C# все гораздо лучше чем в этой питушиной Java.
            System.Nullable<System.Boolean>, или более коротко bool? из C# лучше этой джавовской питушни.
            Правда если planItem.isIgnoredPurchase() это bool?, то придется писать planItem.isIgnoredPurchase() == true или planItem.isIgnoredPurchase() ?? true.
            Да, и System.Boolean у нас это синоним bool.
            Ответить
            • Наверное, всё-таки не «planItem.isIgnoredPurchase() ?? true», а «planItem.isIgnoredPurchase() ?? false».
              Можно ещё так:
              planItem.isIgnoredPurchase().GetValueOrDefault()
              Ответить
    • В жабо помойке null это Boolean ? Именно поэтому я за PHP
      Ответить
      • null — это null.
        Boolean — это обёрточный типа над boolean, который нужен для философии everything is an object.
        Ответить
        • > который нужен для философии everything is an object.
          Именно поэтому я за «Python».
          Ответить
          • Не нужно быть философом-пацифистом, чтобы тихо скончаться от пневмонии, где-нибудь в клинике в Мытищах. Твоими пёрлами будет какое-то время подтираться медперсонал, так как всю бумагу уже давно украли. Но скоро и они иссяктнут.
            Ответить

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