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

    +146

    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
    class Car<T>{
        public T type;
        public String name;
        public int speed;
        public double price;
        private Car cr;
        public Car(Car cr){ this.cr=cr;}
        public Car(){ this.cr=new Car<T>(this);}
        public String toString(){
            return "type "+type+" name "+name;
        }
        public T toStringCar(){
            return (T) this.cr.toString();
        }
        public void printing(){
            Car cr1=this.cr;
            for(;;){
               cr1=cr1.cr;
               System.out.println(cr1);
               
            }
        }
    }
    public class HoldA<T> {
        private Car cr;
        public static void main(String[] str){
            HoldA<Car> c1=new HoldA<Car>(new Car<Double>());
            Tag ht1=HTML.getTag(null);
        }
    
        private HoldA(T car) {
            cr=(Car) car;
            cr.name="fluffy";
            cr.type=45.43;
            System.out.println(cr);
            System.out.println(cr.toStringCar());
            cr.printing();
        }
    }

    Просто так, код

    AliceGoth, 17 Декабря 2011

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private static final BigDecimal $150 = BigDecimal.valueOf(150);
    private static final BigDecimal $500 = BigDecimal.valueOf(500);
    private static final BigDecimal $751 = BigDecimal.valueOf(751);
    
    // rule example
    all(
        paymentOfType(COMPREHENSIVE, greaterOrEqual($500)),
        noPaymentsButComprehensive
    ).mapTo(result(ACTIVITY_TYPE_ACC, COMPREHENSIVE_OVER_500))

    Код мой. Есть таблица правил (в Excel), по которой нужно классифицировать некие объекты. Все правила собраны в одном классе и представляют из себя конструкции наподобие той, что в топике.
    У меня с остальной частью команды возник конфликт по поводу наименования констант: все считают, что называть константы как $500 - сущее зло, а правильно называть MAX_AMOUNT_FOR_COMP_OVER_500. Я считаю, что $500 - это 500 долларов, блеать, а константа нужна только в одном месте и для читаемости. Мне по сути пофигу, как называется константа, интересно узнать ваше мнение.
    наболело

    roman-kashitsyn, 15 Декабря 2011

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

    +83

    1. 1
    2. 2
    URI uri = new URI("http://themoneyconverter.com/USD/rss.xml");
    Document doc = db.parse(uri.toString());

    Умей передавать строки правильно, падаван

    digi, 15 Декабря 2011

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

    +76

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public int RemoveEquals(AtASEData[] ar,int ln) {
       if (ln==0) return 0;
       int i=1;
       int j=0;
       while (i<ln) {
          if (((Integer)ar[i].inData).intValue()==((Integer)ar[j].inData).intValue())
          ar[i].SetRootData(ar[j]); else ar[++j]=ar[i];
          i++;
       }
       return j+1;
    }

    Loord, 14 Декабря 2011

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

    +84

    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
    private enum FolderType{inbound, outbound, archive, rejected}
    
    private String inboundName = "inbound";
    private String outboundName = "outbound";
    private String archiveName = "archive";
    private String rejectedName = "rejected";
    
    // чуть ниже....
    private String getFolderTypeName(FolderType type){
        switch (type){
            case inbound:
                return inboundName;
            case outbound:
                return outboundName;
            case archive:
                return archiveName;
            case rejected:
                return rejectedName;
            default:
                throw new IllegalArgumentException(type.toString());
        }
    }

    Похоже, кто-то так и не въехал в жабьи енумы.

    roman-kashitsyn, 12 Декабря 2011

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

    +121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    final List<OrderSpecifier<?>> orderBy = ImmutableList.<OrderSpecifier<?>>of(
    		// Whoa! Sorting by four columns. We really are insane.
    		q.urgent.desc(),
    		q.queued.desc(),
    		q.receiver.asc(),
    		q.created.desc());

    Заказчик попросил.

    someone, 12 Декабря 2011

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

    +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
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    public class Xorer {
        private static long SHIFR= 71180519;
        private Xorer() {
        }
    
        /**
         * ��������� �������� value XOR shifr
         * @param value ������� �������� �������� � ��������� �������
         * @return ��������� ��� �������� �������� � ��������� �������
         */
        public static synchronized String executeString(String value){
            String res=null;
            long code=0;
            try{
                  code=Long.parseLong(value);
            } catch(Exception e){
                e.printStackTrace();
            }
            res=execute(code);
            return res;
        }
    
        /**
         * ��������� �������� value XOR shifr
         * @param code ������� �������� �������� � ������� long
         * @return ��������� ��� �������� �������� � ��������� �������
        */
        public static synchronized String execute(long code){
            String res=null;
            if(code>0){
                long newvalue= code ^ SHIFR;
                res=""+newvalue;
            }
            return res;
        }
    }

    Вот вам ещё еда.

    nikelin, 08 Декабря 2011

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

    +80

    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
    /** ���� ��������� ���� @P@R@I@V@E@T@ @1@8 - ���� ��� ���� ������ */
            public static String removeSabakaCoding(String inStr)
            {
                    try {
                            char[] chars = inStr.toCharArray();
                            StringBuffer sb = new StringBuffer();
                            boolean mustBe = true;
                            boolean sobakaCoding = true;
                            for (int i = 0; i < inStr.length(); i++)
                            {
                                    if (mustBe)
                                    {
                                            if (chars[i] == '@')
                                            { // ���� ��� sobakaCoding � ����..
                                            } else
                                            {
                                                sobakaCoding = false;
                                                break;
                                            }
                                    } else
                                            sb.append(chars[i]);
                                    mustBe=!mustBe;
                            }
                            if (sobakaCoding)
                                    return sb.toString();
                    } catch (Exception e)
                    {
                            e.printStackTrace();
                    }
                    return inStr;
            }

    Чмоке всем в этам чяте!!!111

    nikelin, 08 Декабря 2011

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

    +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
    @Retention(RetentionPolicy.RUNTIME)
    @Target({ ElementType.FIELD})
    public static @interface Property { String value(); }
    	
    public static class PropertyImpl implements Property {
        private final String value; 
        public PropertyImpl(String value) { this.value = value; }
        @Override public Class<? extends Annotation> annotationType() { return Property.class; }		
        @Override public String value() { return this.value; }
        @Override public int hashCode() { return (127 * "value".hashCode()) ^ value.hashCode();  }
        @Override public boolean equals(Object o) {
            if (!(o instanceof Property)) { return false; }
            Property other = (Property) o;
            return value.equals(other.value());
        }
    }

    отформатировал для компактности.
    Идеи для чего делать реализцию аннотации?

    tir, 06 Декабря 2011

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

    +71

    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
    setCookie(new String[] {username, Long.toString(expiryTime), signatureValue}, tokenLifetime, request, response);
    
    int tokenLifetime = calculateLoginLifetime(request, successfulAuthentication);
    
    protected int calculateLoginLifetime(HttpServletRequest request, Authentication authentication) {
            return getTokenValiditySeconds();
        }
    
    protected int getTokenValiditySeconds() {
            return tokenValiditySeconds;
        }
    
    private int tokenValiditySeconds = TWO_WEEKS_S;
    
    public static final int TWO_WEEKS_S = 1209600;

    Spring Security........
    Логирование по куки токену.....

    KaRRamBa, 06 Декабря 2011

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