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

    +3.5

    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 class SaveBlankElementException extends RuntimeException{
        public SaveBlankElementException(Throwable cause){
            super(cause);
        }
        public SaveBlankElementException(String message,Throwable cause){
            super(message,cause);
        }
        public SaveBlankElementException(String message){
            super(message);
        }
        public SaveBlankElementException(){
    
        }
        @Override
        public String getMessage(){
            return "Попытка сохранения пустого элемента\nНе вызван prepareCreate()";
        }
      
    }

    Зачем, спрашивается было создавать этот класс, когда можно было бы
    вызвать исключение
    throw new UnsupportedOperationException("Попы ка сохранения пустого элемента\nНе вызван prepareCreate()");

    Запостил: maxt, 10 Марта 2010

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

    +2.5

    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
    public class Date extends java.util.Date{
        @Override
        public String toString(){
            return toLocaleString();
        }
        public Date(String s){
            super(s);
        }
        public Date(int year,int month,int date,int hrs,int min,int sec){
            super(year,month,date,hrs,min,sec);
        }
        public Date(int year,int month,int date,int hrs,int min){
            super(year,month,date,hrs,min);
        }
        public Date(int year,int month,int date){
            super(year,month,date);
        }
        public Date(long date){
            super(date);
        }
        public Date(){
        }
        public java.sql.Date getSQLDate(){
            return new java.sql.Date(getTime());
        }
    }

    из за переопределения и еще какого, а главное как:
    @Override
    public String toString(){
    return toLocaleString();
    }
    писать целый класс, это не каждый сможет.

    Запостил: maxt, 09 Марта 2010

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

    +8.1

    1. 1
    2. 2
    3. 3
    4. 4
    public void connect(boolean numberOfTransactions)
    {
    ...
    }

    Че туда передавать???

    Запостил: Nike83, 04 Марта 2010

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    if (!Float.valueOf("0.0").equals(price.getActualPrice()))
    {
    	return true;
    }

    Сравнение чисел (float) нездоровым способом.

    Запостил: asolntsev, 04 Марта 2010

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

    +2.7

    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
    List<SomeObj> list = getTodayObjects();
    .....
    int i = list.size() - 1;
    for (; i >= 0; i--) {
        SomeObj oldState = list.get(i);
        if (currentObj.getTimestamp() - oldState.getTimestamp() >= 5 * MINUTE) {
            value5MinAgo = oldState.getValue();
            break;
        }
    }
    for (; i >= 0; i--) {
        SomeObj oldState = list.get(i);
        if (currentObj.getTimestamp() - oldState.getTimestamp() >= 15 * MINUTE) {
            value15MinAgo = oldState.getValue();
            break;
        }
    }
    for (; i >= 0; i--) {
        SomeObj oldState = list.get(i);
        if (currentObj.getTimestamp() - oldState.getTimestamp() >= 30 * MINUTE) {
            value30MinAgo = oldState.getValue();
            break;
        }
    }
    for (; i >= 0; i--) {
        SomeObj oldState = list.get(i);
        if (currentObj.getTimestamp() - oldState.getTimestamp() >= 60 * MINUTE) {
            value60MinAgo = oldState.getValue();
            break;
        }
    }
    .....

    фанданго, не иначе

    Запостил: Anonimous, 04 Марта 2010

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

    +7.9

    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 int random() {
            long info =  (long) (System.currentTimeMillis() + Runtime.getRuntime().freeMemory() + System.nanoTime());
            long info2 = (long) (System.currentTimeMillis() + Runtime.getRuntime().hashCode() + System.nanoTime());
    
            this.rnd1.setSeed(info);
            this.rnd2.setSeed(info2);
    
            int a = this.rnd1.nextInt();
            int b = this.rnd2.nextInt();
    
            return (int) (a <<= b);
    }

    функция для получения настоящего рандомного числа в какомто студенческом говнокоде

    Запостил: danilissimus, 28 Февраля 2010

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

    +0.5

    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
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    public class CountUnique {
        //here objects will be stored
        private Object[] variants;
        //temporaly array to store copying variants
        private Object[] temparr;
    
        private int total = 0;
    
        public CountUnique() {}
    
        public boolean test(Object obj) {
            total++;
            boolean hasSame = false;
            if(variants == null) {
                variants = new Object[1];
                variants[0] = obj;
                hasSame = false;
            } else {
                for(int i = 0; i < variants.length; i++) {
                    if(variants[i] == null) {} else {
                        if(variants[i].equals(obj)) {
                            hasSame = true;
                            break;
                        }
                    }
                }
    
                if(hasSame == false) {
                    temparr = variants;
                    variants = new Object[temparr.length+1];
                    for(int i = 0; i < temparr.length; i++) {
                        variants[i] = temparr[i];
                    }
    
                    variants[temparr.length] = obj;
                    temparr = null;
                }
            }
    
            return hasSame;
        }
    
        public int unique() {
            if(variants == null) {
                return 0;
            } else return variants.length;
        }
    
        public int total() {
            return total;
        }
    
        public void free() {
            variants = null;
            temparr = null;
        }
    }

    некий класс для подсчета уникальных обьектов.
    особенно умиляет функция test()

    Запостил: danilissimus, 25 Февраля 2010

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

    +4.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
    public static boolean isValidUser(String user)
    	{
    		if(user == null) return true;
    		int len = user.length();
    		if (len > 255) return false;
    		char c;
    		for(int i=0; i<len; i++)
    		{
    			c = user.charAt(i);
    			if (c <= ' ') return false;
    			if (c == ':') return false;
    			if (c == '@') return false;
    			if (c == '"') return false;
    			if (c == '>') return false;
    			if (c == '<') return false;
    			if (c == '/') return false;
    			if (c == '\'') return false;
    			if (c == '&') return false;
    			if (c == '\u077F') return false;
    			if (c == '\u0FFE') return false;
    			if (c == '\u0FFF') return false;
    		}
    		return true;
    	}

    проверка имени пользователя на плохие символые в Jeti

    Запостил: danilissimus, 24 Февраля 2010

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

    +3.6

    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
    package core;
    
    public class Cryptor {
        /**
         * Encodes the String.
         * @param s Source string.
         * @param p Password.
         * @return String
         */
        public static String encode(String s, String p) {
            byte[] str = s.getBytes();
            int h = summ(p);
    
            for(int i = 0; i < str.length; i++) {
                str[i] = (byte) (str[i] ^ h ^ i);
            }
    
            return new String(str,0,str.length);
        }
    
        /**
         * Decodes the String.
         * @param s Source string.
         * @param p Password.
         * @return String
         */
        public static String decode(String s, String p) {
            return encode(s, p);
        }
    
        /**
         * Calculater the hash summ of password.
         * @param p Password.
         */
        public static int summ(String p) {
            int r = -1;
            byte[] str = p.getBytes();
            for(int i = 0; i < str.length; i++) r+=str[i]+i;
            return r;
        }
    }

    Запостил: danilissimus, 24 Февраля 2010

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

    +17.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    protected void parseSummaryLines()
            {
                   ...
    
                   // NOTE: First letters are ommited in order to support capitalized words as well
                   final String RESULT_GOOD_TEXT_1 = "othing";    // Nothing
                   final String RESULT_GOOD_TEXT_2 = "uccessful"; // Successful
                   final String RESULT_BAD_TEXT_1 = "assword";    // Password
                   final String RESULT_BAD_TEXT_2 = "failed";     // Failed
    
                   ...
            }

    Сегодня в пласте нашего Java-кода геологи нашли такой вот самородок.

    Запостил: asolntsev, 22 Февраля 2010

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