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

    В номинации:
    За время:
  2. Куча / Говнокод #16826

    +140

    1. 1
    (𝓹𝓻𝓲𝓷𝓽 "𝓗𝓮𝓵𝓵𝓸, 𝓦𝓸𝓻𝓵𝓭!")

    В продолжение темы юникода. К сожалению, крестокомпилятор не захотел кушать эти символы, а в других языках нет препроцессора. Поэтому пришлось на лиспе.

    http://ideone.com/14yidz

    bormand, 08 Октября 2014

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

    +89

    1. 1
    2. 2
    3. 3
    String os = System.getProperty("os.name");
    if (os.startsWith("Windows 9") || os.equals("Windows Me")) {
    throw new RuntimeException(

    https://searchcode.com/?q=if%28version%2Cstartswith%28%22window s+9%22%29
    Очевидно Windows 10 спасёт ситуацию.

    Говногость, 03 Октября 2014

    Комментарии (54)
  4. C# / Говнокод #16561

    +137

    1. 1
    readonly string NEWLINE = "\r\n";

    Smekalisty, 19 Августа 2014

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

    +73

    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 static Rectangle2D fit(final Rectangle2D in, final Rectangle2D out) {
    		final Rectangle2D.Double fit = new Rectangle2D.Double();
    		if (in.getWidth() > in.getHeight()) {
    			fit.width = out.getWidth();
    			fit.height = (out.getHeight() * in.getHeight()) / in.getWidth();
    			fit.x = out.getX();
    			fit.y = out.getY() + ((out.getHeight() - fit.height) / 2);
    		} else {
    			fit.width = (out.getWidth() * in.getWidth()) / in.getHeight();
    			fit.height = out.getHeight();
    			fit.x = out.getX() + ((out.getWidth() - fit.width) / 2);
    			fit.y = out.getY();
    		}
    		// if ((in.getWidth() / in.getHeight()) != (fit.width / fit.height)) {
    		// throw new RuntimeException();
    		// }
    		// if (!fit.contains(fit)) {
    		// throw new RuntimeException();
    		// }
    		return fit;
    	}

    #14-19 - инлайн тесты!
    а вы говорите - юнит-тесты...

    Lure Of Chaos, 27 Июня 2013

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

    +93

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Float nan=Float.NaN;
    new Float(10).compareTo(nan);
    //-1
    nan.compareTo(nan);
    //0
    new Float(Float.POSITIVE_INFINITY).compareTo(nan);
    //-1. POSITIVE_INFINITY<NAN. LoL

    http://ideone.com/9WIo16
    Тут некоторые товарищи в соседнем треде предлагали сравнивать объекты через compareTo()==0, если возможно.
    Ну и беречься от equals как от огня, если есть Comparable.
    А вот к чему это приводит.

    3.14159265, 13 Ноября 2012

    Комментарии (54)
  7. PHP / Говнокод #12057

    +71

    1. 1
    2. 2
    3. 3
    <?php
    </script>
    ?>

    ПыхапеГовно выдаёт:
    ?>
    Как оказалось, ему асболютно пофиг каким тегом его открывают, и каким закрывают... <script language="php"> echo "blah-blah-blah"; ?> тоже работает...

    Lowezar, 05 Ноября 2012

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

    +68

    1. 1
    2. 2
    3. 3
    public ConcurrentHashMap(int initialCapacity, float loadFactor, int concurrencyLevel) {
         if (initialCapacity < 0)
           throw new IllegalArgumentException();

    - unsigned?
    - ЖАБАПРОБЛЕМЫ.

    А ещё это не портируется на 64хбитные платформы с 32хбитным intом.

    LispGovno, 04 Ноября 2012

    Комментарии (54)
  9. JavaScript / Говнокод #11297

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
    	chrome.tabs.update(tabInfo.tabId, {"active" : true}); // chrome 15+
    } catch (e) {
    	chrome.tabs.update(tabInfo.tabId, {"selected" : true}); // older
    }

    Это ни капли не говнокод. Это - результат breaking changes в chrome.tabs API, про которое нигде не написали и из-за которого ваши расширения для Chrome, использующие chrome.tabs API могут запросто не работать в относительно старых версиях Chrome. При том, что заявлена поддержка Chrome 9+. Из-за такого странного подхода приходится городить такие конструкции, которые выглядят как непонятный говнокод для непосвященных людей.

    1999, 25 Июня 2012

    Комментарии (54)
  10. C++ / Говнокод #10904

    −25

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    bool operator<(const A *obj){
    if (obj->n < this->n)
    return true;
    else if (this->n < obj->n)
    return false;
    };

    Перегрузка оператора сравнения

    Diss, 11 Июня 2012

    Комментарии (54)
  11. PHP / Говнокод #8170

    +168

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if (!is_array($arFilter)) 
    			$filter_keys = Array();
    		else
    			$filter_keys = array_keys($arFilter);
    
    		for ($i=0; $i<count($filter_keys); $i++)
    		{
    			$key = strtoupper($filter_keys[$i]);
    			$val = $arFilter[$filter_keys[$i]];
    // ....
    }

    по всей видимости, в битриксе программистам выдают тяжелые наркотики при входе.. до такой реализации foreach я бы никогда не додумался!

    belukov, 12 Октября 2011

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