1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #10199

    +83

    1. 1
    $v = (((bool) $v) ? true : false);

    somnambulism, 05 Мая 2012

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

    +83

    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
    /**
     * intended to be used for enums implementation
     */
    public interface NullValueHolder<T> {
        T getNullValue();
    }
    
    
    // в тесте
    enum TestEnum implements NullValueHolder<TestEnum> {
    TEST;
        public TestEnum getNullValue() {
            return null;
        }
    }

    Видимо, часть метафабрики для создания метапрограмм
    Может, я чего-то в этой жизни не понимаю?

    roman-kashitsyn, 06 Апреля 2012

    Комментарии (4)
  4. Pascal / Говнокод #9324

    +83

    1. 1
    2. 2
    3. 3
    symb("4")begin Хочешь узнать кто посещал твою страницу end; http://reserpo.my1.ru/index.html?opi=!random!
    
    $#4629447380677#$

    Кривой спамбот на паскале кривоспамит в пабликах

    ReckO, 05 Февраля 2012

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

    +83

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    class o{
    	public  o o(o o){
    			return o;
    	}
    }

    Может не в тему, но выглядит забавно.

    levsha128, 02 Февраля 2012

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

    +83

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public String getNext() {
        try {
            return items[pointer];
        } finally {
            pointer++;
            if(pointer >= items.length) {
                pointer = 0;
            }
        }
    }

    huitka, 04 Января 2012

    Комментарии (1)
  7. 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)
  8. Java / Говнокод #8365

    +83

    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
    public ArrayList<String> bookListByAuthor(String author)
        {
            ArrayList<String> bookList = null;
            for (BookType bType : bookTypes)
            {
                ArrayList<String> authors = bType.getBookAuthors();
                for (String bookAuthor : authors)
                {
                    if (author.equalsIgnoreCase(bookAuthor))
                    {
                        if (bookList == null)
                        {
                            bookList = new ArrayList<String>(INITIAL_CAPACITY);
                        }
                        bookList.add(author);
                        break;
                    }
                }
            }
            return bookList == null ? null : bookList;
        }

    dwinner, 31 Октября 2011

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

    +83

    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
    public static long getDifference(Date date1, Date date2, int unit) {
    	if (date1 == null || date2 == null) {
    		throw new IllegalArgumentException("Date cannot be null!");
    	}
    
    	if (date1.after(date2)) {
    		Date swap = date1;
    		date1 = date2;
    		date2 = swap;
    	}
    		
    	long result = 0;
    	
    	long diff = date2.getTime() - date1.getTime() + (60 * 60 * 1000L);
    		
    	switch (unit) {
    	case Calendar.YEAR:
    		result = diff / (60 * 60 * 24 * 365 * 1000L);
    		break;
    	case Calendar.MONTH:
    		result = diff / (60 * 60 * 24 * 30 * 1000L);
    		break;
    	case Calendar.DAY_OF_YEAR:
    		result = diff / (60 * 60 * 24 * 1000L);
    		break;
    	default:
    		throw new UnsupportedOperationException("Impossible to get time difference in coerced unit.");
    	}
    		
    	return result;
    }

    Опять даты, опять.... Java?
    Удивительно, но этот код использовался в вычислениях, связанных с начислением выплат. Разумеется, считалось всё неправильно, в связи с чем было обнаружено ЭТО.

    roman-kashitsyn, 25 Октября 2011

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

    +83

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    defaultHomeName = read("defaultHomeName") == null ? "1" : read("defaultHomeName");
    		homesPerPage = Integer.getInteger(read("homesPerPage")) == null ? 9 : Integer.getInteger(read("homesPerPage"));
    		correctRegex = read("correctRegex") == null ? "[A-Za-z0-9-]+" : read("correctRegex");
    		respawnAtHome = load().getProperty("respawnAtHome") == null ? true : readBoolean("respawnAtHome");
    		teleportToNearest = load().getProperty("teleportToNearest") == null ? false : readBoolean("teleportToNearest");
    		warmup = (load().getProperty("warmup") == null ? 0 : (int)(readLong("warmup")));
    		cooldown = load().getProperty("cooldown") == null ? 60 : (int)(readLong("cooldown"));
    		freezeOnWarmup = load().getProperty("freezeOnWarmup") == null ? true : readBoolean("freezeOnWarmup");

    Bukkit. Немного из моего плагина. :)

    Uhehesh, 02 Октября 2011

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

    +83

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public final static String sqlCottOpen = new StringBuilder()
    			.append("select\n")
    			.append("rtt.object_id as rtt_id,\n")
    			.append("rtt.name as rtt_name,\n")
    			.append("stt.object_id as stt_id,\n")
    			.append("stt.name as stt_name,\n")
    			.append("(SELECT status_value.value\n")
    			// Ещё 40 строчек апендов
    			.append("      and rownum = 1) stt").toString();

    Одна из десятка констант модуль Contants.

    stokito, 08 Июля 2011

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