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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static Date round(Date d) {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyyy");
            return sdf.parse(sdf.format(d));
        } catch (ParseException ex) {
            //This exception will never be thrown, because sdf parses what it formats
            return d;
        }
    }

    Простейший коробочный способ округления даты до дня.

    3.14159265, 10 Мая 2018

    Комментарии (9)
  2. Java / Говнокод #24217

    +3

    1. 1
    http://www.ssw.uni-linz.ac.at/Research/Papers/Wuerthinger07/Wuerthinger07.pdf

    Как известно, в языках C и C++ есть проблема с buffer overflow, в то время как в языке Java такой проблемы нет (баги в реализации самой JVM не рассматриваем). В языке Java, как и в многих других подобных языках для анскиллябр заедушных, не могущих в сырые указатели, сделали проверки границ массива. В говноязыке C++ впрочем тоже есть какая-то такая питушня, например std::vector::at выполняет роверку выхода индекса за границы диапазона вектора. Только вот в язык JVM давно уже внедряют такую хреноту, как array bounds check elimination, т.е. убирание проверок, когда на этапе компиляции можно доказать, что такие проверки не нужны.

    В какой версии C++ сделают чтоб std::vector::at тоже вот так могло автозаменяться на небезопасный аналог если компилятор доказал что там эти проверки не нужны?

    j123123, 03 Мая 2018

    Комментарии (24)
  3. Java / Говнокод #24149

    +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
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    private fun showTicketWithSerialNumber(numberField: EditText, dateField: EditText) {
    
           RxTextView.textChangeEvents(numberField).subscribe {
               if (it.text().isNotEmpty()) {
                   RxTextView.textChangeEvents(dateField).subscribe {
                       if (it.text().isNotEmpty()){
                           vCardSearch.vis { true }
                           vButtonAddFlight.alpha = 1f
                       }
                   }
               }
           }
    
        }
    
     private fun showTicketWithoutSerialNumber(airlineField: EditText, departureField: EditText, arrivalField: EditText, dateField: EditText) {
    
            RxTextView.textChangeEvents(airlineField).subscribe {
                if (it.text().isNotEmpty()) {
                    RxTextView.textChangeEvents(departureField).subscribe {
                        if (it.text().isNotEmpty()){
                            RxTextView.textChangeEvents(arrivalField).subscribe {
                                if (it.text().isNotEmpty()) {
                                    RxTextView.textChangeEvents(dateField).subscribe {
                                        if (it.text().isNotEmpty()){
                                            vCardSearch.vis { true }
                                            vButtonAddFlight.alpha = 1f
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
    
        }

    Открыл. Увидел. Охуел. RxJava(в данном случае RxKotlin) в действии блеать......

    scrobot, 19 Апреля 2018

    Комментарии (18)
  4. Java / Говнокод #24133

    −4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    List<Validatable> list = getValues();
    
    ...
    return list == null || list.stream().reduce(Boolean.TRUE,
                        (identity, cf) -> identity
                                && cf.validate().stream()
                                .map(ValidationError::getError)
                                .peek(feedbackPanel::error)
                                .count() == 0,
                        (result1, result2) -> result1 && result2);

    Покритикуйте ошибки использования stream и lambda

    owner, 16 Апреля 2018

    Комментарии (11)
  5. Java / Говнокод #24037

    +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
    public class TradingAccounts {
        private static HashMap<String, TradingAccounts> hashMap = new HashMap<String, TradingAccounts>();
        ....
        public static void clear() throws Exception {
            hashMap.clear();
            TradingAccounts[] all = getAll();
            for (TradingAccounts acc : all) {
                hashMap.put(acc.getAccount().trim(), acc);
            }
        }
        ....
    }

    Production code.
    При рефакторинге LEGACY приложения утерян вызов
    TradingAccounts.clear()
    По факту это привело к ошибке, т.к. этот справочник всегда оставался пустым.
    Кто бы мог догадаться, что метод clear загружает данные из БД...

    anurin, 30 Марта 2018

    Комментарии (2)
  6. Java / Говнокод #24009

    −4

    1. 1
    А вы играете со своей крайней плотью?

    g0_1494033395677, 26 Марта 2018

    Комментарии (2)
  7. Java / Говнокод #23967

    −1

    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
    public bool WaitForElement(Action testMethod)
            {
                try
                {
                    testMethod();
                }
                catch (StaleElementReferenceException)
                {
                    testMethod();
                }
                catch (ElementNotVisibleException)
                {
                    return false;
                }
                catch (NoSuchElementException)
                {
                    return false;
                }
                return true;
            }

    http://software-testing.ru/forum/index.php?/topic/21965-borba-so-staleelementreferenceexception-element-is-no-longer-attached-to-the-dom/?p=138795
    "Не боян, а классика!"

    хуита, 20 Марта 2018

    Комментарии (23)
  8. Java / Говнокод #23846

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    try {
        String sDate = new SimpleDateFormat("MM/dd/yyyy").format(new SimpleDateFormat("dd.MM.yyyy").parse(dayOfMonth + "." + (monthOfYear + 1) + "." + year));
        dueDate.setText(sDate);
    } catch (ParseException e) {
        e.printStackTrace();
    }

    Красивое (и безопасное) решение проблем с разными форматами дат

    StanDalone, 01 Марта 2018

    Комментарии (13)
  9. Java / Говнокод #23761

    0

    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
    import java.util.Scanner;
    public class MasInd {
        public static void main (String[] args) {
            Scanner sc = new Scanner(System.in);
            System.out.println("Введите массу тела в килограммах");
            double m = sc.nextDouble();
            System.out.println("Введите рост в метрах");
            double r = sc.nextDouble();
            double i = m/(r*r);
            System.out.println("Индекс массы тела = " + i);
            if (i>=18.5 & i<25) {
                System.out.println("Норма");
            }
            if (i>=25 & i<30) {
                System.out.println("Предожирение");
            }
            if (i>=30) {
                System.out.println("Ожирение");
            }
            if (i<18.5) {
                System.out.println("Дефицит массы тела");
            }
        }
    }

    Определитель индекса массы тела.
    У меня, кстати, индекс - 22.47 (норма).

    SewerSurfer, 13 Февраля 2018

    Комментарии (196)
  10. Java / Говнокод #23704

    +1

    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
    public static synchronized Tracker getDefaultTracker() {
        Tracker tracker;
        synchronized (MainApp.class) {
            if (googleAnalTracker == null) {
                analytics = GoogleAnalytics.getInstance(app());
                GoogleAnalytics googleAnalytics = analytics;
                int i = (DEBUG || STAGE) ? R.xml.app_tracker_debug : R.xml.app_tracker;
                googleAnalTracker = googleAnalytics.newTracker(i);
                googleAnalTracker.enableAutoActivityTracking(false);
            }
            tracker = googleAnalTracker;
        }
        return tracker;
    }

    Тайна гугла раскрыта

    m0003r, 04 Февраля 2018

    Комментарии (9)