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

    +74

    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
    url = new URL("http://[FF01:0:0:0:0:0:0:0101]");
    String originalHostName = url.getHost();
    System.out.println(originalHostName);
    if (originalHostName.startsWith("[") && originalHostName.endsWith("]")) {
     i1 = originalHostName.indexOf("[");
     originalHostName = originalHostName.substring(i1 + 1);
     i2 = originalHostName.lastIndexOf("]");
     originalHostName = originalHostName.substring(0, i2);
     if (IPV6REGEX.matcher(originalHostName).matches()) {
      System.out.println(url + " is a ipv6 address");
      String hostName = InetAddress.getByName(originalHostName).getHostAddress().toLowerCase();
      if (hostName.contains(":")) {
       hostName = "[" + hostName + "]";
      }
     }
    }

    Взято отсюда: http://www.pretechsol.com/2013/05/ipv6-java-regular-expression-example.html#.VBtooLn69B0

    0rt, 19 Сентября 2014

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

    +82

    1. 1
    Boolean hasRefId = !node.getAttributes().getNamedItem("refid").equals(null);

    equals(null)

    roman-kashitsyn, 18 Сентября 2014

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

    +76

    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
    function returnUserId() {
        if (document.getElementById('userstap') != null )  {
            var obj = document.getElementById('userstap');
            <% if ((sUserIdForPrint != null) && !sUserIdForPrint.equals("")) {%>
            if (obj.options[obj.selectedIndex].value == 0) {
                return "<%=sUserIdForPrint%>";
            <% } %>
            <% if (((sAccGrpUserIdForPrint != null) && !sAccGrpUserIdForPrint.equals("")) && ((sUserIdForPrint != null) && !sUserIdForPrint.equals(""))) {%>
            } else if (obj.options[obj.selectedIndex].value == 1 ) {
                return "<%=sAccGrpUserIdForPrint%>";
            <% } else if ((sAccGrpUserIdForPrint != null) && !sAccGrpUserIdForPrint.equals("")){%>
            if (obj.options[obj.selectedIndex].value == 1 ) {
                return "<%=sAccGrpUserIdForPrint%>";
            <% } %>
            <% if (((sAccGrpUserIdForPrint != null) && !sAccGrpUserIdForPrint.equals("")) || ((sUserIdForPrint != null) && !sUserIdForPrint.equals(""))) {%>
            } else if (obj.options[obj.selectedIndex].value == 2) {
                return "<%=userId%>";
            }
            <% } else {%>
            if (obj.options[obj.selectedIndex].value == 2) {
                return "<%=userId%>";
            }
            <% } %>
        } else {
            return "<%=userId%>";
        }
    }

    Любите ли вы JSP так, как люблю его я?

    codingHorror, 18 Сентября 2014

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

    +79

    1. 1
    2. 2
    // Number a, Number b
    return new Double(a.doubleValue() - numericTolerance).compareTo(b.doubleValue()) < 0

    В продолжение #16698, после рефакторинга. Видимо, диагноз: ООП головного мозга.

    Actine, 17 Сентября 2014

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

    +73

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public static <T extends Comparable<T>> boolean isLessThan(T a, T b, double numericTolerance) {
        if (a == null) {
            return b != null;
        }
        boolean isLessThan = a.compareTo(b) < 0;
        if (!isLessThan && a instanceof Number && b instanceof Number) {
            isLessThan = ((Comparable) (((Number) a).doubleValue() - numericTolerance)).compareTo(((Number) b).doubleValue()) < 0;
        }
        return isLessThan;
    }

    Один из методов сравнения значений в пределах допустимой погрешности (последняя только для чисел).
    Вроде бы и проще никак, но чувство говна не покидает. Советы по упрощению приветствуются.

    Actine, 16 Сентября 2014

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

    +64

    1. 1
    int i;

    кода на самом деле нет, но это достойно говнокод.ру

    на сервере был http метод GET /rest/user/anon/create
    по непонятной причине был заменён на POST /rest/user/anon/create1
    старый метод теперь возвращает 405 ошибку "Method not allowed" с заголовком Allow: POST, OPTIONS

    kyzmitch, 12 Сентября 2014

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

    +75

    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
    package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;
    
    import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.FizzBuzzSolutionStrategyFactory;
    import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.EnterpriseGradeFizzBuzzSolutionStrategyFactory;
    import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzSolutionStrategy;
    
    public class FizzBuzz {
    	public void fizzBuzz(int nFizzBuzzUpperLimit) {
    		final FizzBuzzSolutionStrategyFactory mySolutionStrategyFactory =
    			new EnterpriseGradeFizzBuzzSolutionStrategyFactory();
    		final FizzBuzzSolutionStrategy mySolutionStrategy =
    			mySolutionStrategyFactory.createFizzBuzzSolutionStrategy();
    		mySolutionStrategy.runSolution(nFizzBuzzUpperLimit);
    	}
    }

    FizzBuzz Enterprise Edition на Java от уважаемых разработчиков.

    http://habrahabr.ru/company/abbyy/blog/173885/
    https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition

    gost, 10 Сентября 2014

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

    +118

    1. 1
    protected static final float PI_2 = (float)(Math.PI / 2.0);

    someone, 09 Сентября 2014

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

    +64

    1. 1
    2. 2
    3. 3
    4. 4
    int r = 5;
        if (r ==5) {
            throw new Exception(); 
        }

    air_raptor, 05 Сентября 2014

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

    +73

    1. 1
    Class <? extends Object> currentClass = Class.forName( clazz )

    Продолжаем разговор...

    sakkath, 05 Сентября 2014

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