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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static <T> Comparator<T> reverseOrder(Comparator<T> cmp) {
        if (cmp == null)
            return reverseOrder();
    
        if (cmp instanceof ReverseComparator2)
            return ((ReverseComparator2<T>)cmp).cmp;
    
        return new ReverseComparator2<>(cmp);
    }

    кишки стандартной библиотеки йажи продолжают радовать, хорошо хоть нет ReverseComparatorFinal или ReverseComparatorBassBoostedByKirillXXL

    Fike, 30 Сентября 2020

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /**
         * Change the zoom level to the specified value. Specify 0.0 to reset the
         * zoom level.
         *
         * @param zoomLevel The zoom level to be set.
         */
        public void setZoomLevel(double zoomLevel);

    Когда-то я думал, что zoom 100% это 1.0. И что на zoom нужно умножать. Но оказалось, что я анскильный.

    DypHuu_niBEHb, 24 Сентября 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public void startLoginService(User paramUser) {
        if (paramUser != null) {
            Intent intent = new Intent((Context)this, LoginService.class);
            intent.putExtra("LOGIN_KEY", paramUser.getLogin());
            intent.putExtra("PASSWORD_KEY", String.valueOf(paramUser.getId()));
            startService(intent);
        }
    }

    GDMaster, 22 Сентября 2020

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

    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
    public static UUID fromString(String name) {
            String[] components = name.split("-");
            if (components.length != 5)
                throw new IllegalArgumentException("Invalid UUID string: "+name);
            for (int i=0; i<5; i++)
                components[i] = "0x"+components[i];
    
            long mostSigBits = Long.decode(components[0]).longValue();
            mostSigBits <<= 16;
            mostSigBits |= Long.decode(components[1]).longValue();
            mostSigBits <<= 16;
            mostSigBits |= Long.decode(components[2]).longValue();
    
            long leastSigBits = Long.decode(components[3]).longValue();
            leastSigBits <<= 48;
            leastSigBits |= Long.decode(components[4]).longValue();
    
            return new UUID(mostSigBits, leastSigBits);
        }

    без префикса "0x" написать рабочий код было невозможно, очевидно
    это хоть починили

    https://github.com/openjdk/jdk/blob/jdk8-b120/jdk/src/share/classes/java/util/UUID.java#L191-L209

    Fike, 22 Сентября 2020

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

    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
    /**
         * Compares {@link Comparable} objects in natural order.
         *
         * @see Comparable
         */
        enum NaturalOrderComparator implements Comparator<Comparable<Object>> {
            INSTANCE;
    
            @Override
            public int compare(Comparable<Object> c1, Comparable<Object> c2) {
                return c1.compareTo(c2);
            }
    
            @Override
            public Comparator<Comparable<Object>> reversed() {
                return Comparator.reverseOrder();
            }
        }

    У нас будет компаратор, который сравнивает дженерики, но не совсем дженерики, потому что Object, а еще мы сделаем его enum, потому что можем

    https://github.com/openjdk/jdk/blob/jdk-14-ga/src/java.base/share/classes/java/util/Comparators.java#L47-L59

    Fike, 22 Сентября 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    try {
    	throw new SQLException();
    } catch (SQLException e) {
    	logger.error("error while updating "
    		+ e.getMessage());
    }

    нет слов

    ld50, 11 Сентября 2020

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

    0

    1. 1
    2. 2
    @Test
    public void getTestcases_OffsetEqTwoAndLomitEqTen_ReturnTwoTestcasesInResponse()

    Йажа - это не язык программирования, это состояние сознания

    roflannister, 27 Августа 2020

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

    +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
    private static final String CITY_PREFIX = "г.";
    private static final Map<String, String> CITIES = new HashMap<>() {
      {
        put("В.Новгород", "Великий Новгород");
        put("Н.Новгород", "Нижний Новгород");
        put("В. Новгород", "Великий Новгород");
        put("Н. Новгород", "Нижний Новгород");
        put("Великий Новгород", "Великий Новгород");
        put("Нижний Новгород", "Нижний Новгород");
        put("Петербург", "Санкт-Петербург");
        put("Челны", "Набережные Челны");
        put("Уренгой", "Новый Уренгой");
        put("ПсковS", "Псков");
      }
    };
    private static final Map<String, String> CITIES_WITH_PREFIX = new HashMap<>() {
      {
        put("г.Пушкино", "Пушкино");
      }
    };

    ну просто офигенный мапинг

    varg, 07 Августа 2020

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

    +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
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    package com.company;
    
    public class Main {
    
        public static void main(String[] args) {
            int answer = 0;
    
            for (int i = 100; i < 1000; i++){
                for (int j = 100; j < 1000; j++){
                    int result = i * j;
    
                    String str = String.valueOf(result); //convert
                    String revers = new StringBuffer(str).reverse().toString(); //revers
                    int newb = Integer.parseInt(revers); //convert
    
                    if (newb == result){
                        int answer001 = result;
    
    
                        if (answer001 > answer) answer = answer001;
                    }
    
                }
            }
            System.out.println(answer);
    
        }
    
    }

    реализация четвёртой задачки из проекта эйлера

    warzon131, 01 Августа 2020

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

    −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
    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
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    System.out.println("\nNames in alphabetical order: ");
                 if(name1.compareTo(name2) > 0) {
                            if(name2.compareTo(name3) > 0) {
                                    System.out.printf("%s\n%s\n%s\n",
                                                    name3,
                                                    name2,
                                                    name1); //cba 2
                            }
                            else if(name3.compareTo(name2) > 0) {
                                    System.out.printf("%s\n%s\n%s\n",
                                                    name2,
                                                    name3,
                                                    name1); //bca 3
                            }
                    }
                    else if(name2.compareTo(name1) > 0) {
                            if(name1.compareTo(name3) > 0) {
                                    System.out.printf("%s\n%s\n%s\n",
                                                    name3,
                                                    name1, 
                                                    name2); //cab 1
                            }
                            else if(name3.compareTo(name1) > 0) {
                                    System.out.printf("%s\n%s\n%s\n",
                                                    name1,
                                                    name3,
                                                    name2); //acb 5
                            }
                    }//bac i abc
                    else if(name3.compareTo(name1) > 0) {
                            if(name1.compareTo(name2) > 0) {
                                    System.out.printf("%s\n%s\n%s\n",
                                                    name2,
                                                    name1,
                                                    name3);
                            }
                            else if(name2.compareTo(name1) > 0) {
                                    System.out.printf("%s\n%s\n%s\n",
                                                    name1,
                                                    name2,
                                                    name3);
                            }
                    }

    Снова пытался отсортировать три строки по алфавиту.
    У меня опять получилась вместо нескольких строк простыня.
    Что со мной не так?
    Но, по крайней мере, она работает как надо.

    marincv, 29 Июля 2020

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