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

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

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    int file_exist (char *filename)
    {
        char s[200];
        sprintf(s, "test -e %s", filename);
        if (system(s) == 0){
            return 1;
        }else{
            return 0;
        }
    }

    http://stackoverflow.com/questions/3828192/checking-if-a-directory-exists-in-unix-system-call

    rat4, 23 Декабря 2013

    Комментарии (295)
  3. C++ / Говнокод #11308

    −29

    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
    calculateSomething(int n){
    	float* x = new float[n];
    	/*do smth*/
    	
           if ( /*validation*/ ) {
    		delete[] x;
    		return;
    	}
    	
    	float* y = new float[n];
    	/*do smth*/
    	
    	if ( /*validation*/ ) {
    		delete[] x;
    		delete[] y;
    		return;
    	}
    	
    	float* z = new float[n];
    	/*next step*/
    	
    	if ( /*smth goes wrong*/ ) {
    		delete[] x;
    		delete[] y;
    		delete[] z;
    		return;
    	}
    
            /*more calculations with validation*/
    
           delete[] x;
           delete[] y;
           ...
           /*more delete[]*/
           
           return;
    }

    Принципиальная схема говногода, найденного на просторах сети.

    interested, 26 Июня 2012

    Комментарии (294)
  4. PHP / Говнокод #11566

    +66

    1. 1
    2. 2
    3. 3
    4. 4
    $pr = array();
    foreach ($params as $k => $v)
        $pr[] .= urlencode($k).'='.urldecode($v);
    $data = join('&', $pr);

    http_build_query() для слабаков! Только велосипеды, только выстрел себе в ногу.
    /netcat/admin/nc_adminnotice.class.php

    telnet, 10 Августа 2012

    Комментарии (293)
  5. PHP / Говнокод #4757

    +148

    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
    <?
    	$optSelect['10'] = ($_REQUEST['sort_count']=='10') ? 'selected' : '';
    	$optSelect['20'] = ($_REQUEST['sort_count']=='20') ? 'selected' : '';
    	$optSelect['50'] = ($_REQUEST['sort_count']=='50') ? 'selected' : '';
    	$optSelect['all'] = ($_REQUEST['sort_count']=='all') ? 'selected' : '';
    	
    	$remParams = array('sort_count');
            //функция GetCurPageParam в битрикс возвращает путь к текущей странице с добавлением/удалением параметров (автор поста) 
    	$optValueURI['10'] = $APPLICATION->GetCurPageParam('sort_count=10', $remParams);
    	$optValueURI['20'] = $APPLICATION->GetCurPageParam('sort_count=20', $remParams);
    	$optValueURI['50'] = $APPLICATION->GetCurPageParam('sort_count=50', $remParams);
    	$optValueURI['all'] = $APPLICATION->GetCurPageParam('sort_count=all', $remParams);
    			
    	$optValue['10'] = $siteURL . $optValueURI['10'];
    	$optValue['20'] = $siteURL . $optValueURI['20'];
    	$optValue['50'] = $siteURL . $optValueURI['50'];
    	$optValue['all'] = $siteURL . $optValueURI['all'];
    ?>
    <select onChange="location=this.value">
    	<option <?=$optSelect['10']?> value="<?=$optValue['10']?>">10</option>
    	<option <?=$optSelect['20']?> value="<?=$optValue['20']?>">20</option>
    	<option <?=$optSelect['50']?> value="<?=$optValue['50']?>">50</option>
    	<option <?=$optSelect['all']?> value="<?=$optValue['all']?>">Все</option>
    </select>

    Реализация Селекта количества выводимых элементов на странице. Сайт делал топовый партнёр 1c-Bitrix.
    Я думаю, что разумнее было бы сделать так:
    $arPages = array(10, 20, 50, 'all');
    foreach ($arPages as $page) {?>
    <option <?if($page == $_REQUEST['sort_count']){?>selected<?}?>>$page</option>
    <?}?>
    Ну и для сабмита можно какую нибудь нормальную функцию в JS написать.

    Cool-Di, 26 Ноября 2010

    Комментарии (292)
  6. Куча / Говнокод #25801

    −3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    https://habr.com/ru/post/465553/
    
    А правда, почему компилятор C++ позволяет писать такую хуету
    x+= x++ + ++x;
    x^=y^=x^=y;
    ?

    IIIyqpymuHckuu_nemyx, 03 Сентября 2019

    Комментарии (291)
  7. C++ / Говнокод #25097

    −1

    1. 1
    2. 2
    3. 3
    class Govno {
            virtual void govno() = 0;
    };

    Откуда такой дурацкий синтаксис? ))
    Прочитал у страуса, джва дня смеюсь.

    Может кто-то знает причину?

    vistefan, 19 Ноября 2018

    Комментарии (289)
  8. PHP / Говнокод #17913

    +159

    1. 1
    2. 2
    3. 3
    ...
    $ORDER_ID = urldecode(urldecode($_REQUEST["ORDER_ID"]));
    ...

    битрикс :)

    p0p, 02 Апреля 2015

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

    +78

    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
    public void initializeMap() {
            for(Point p: getPoints()) {
               {
                    Address address = p.getAddress();
                    LatLng position = new LatLng(address.getLatitude(), address.getLongitude());
                    //... 
                } //  (2)
    
                for (Item item : items) {
                            Address address = item.getAddress();
                            LatLng position = new LatLng(address.getLatitude(), address.getLongitude());
                            //... 
                }
           }
    }

    автору лень придумывать вменяемые имена переменных, для кода ниже. по сему, он просто оборачивает верний код в новый блок и вуаля - можно реюзать те самые имена.
    не совсем уверен говнокод ли это, но как минимум это - глупо.

    lowercase, 01 Апреля 2015

    Комментарии (288)
  10. Куча / Говнокод #3028

    +78.4

    Анонимус-срач на говнокод.ру

    Мне немногозначно дали понять, что анонимы всех достали. Пишут в почту, в icq, в реформал и даже смски шлют.
    Проект уже вырос из того нежного возраста, когда его судьбу мог решать я сам. Посему предлагаю обсудить сложившуюся ситуацию и прийти к соглашению, выпиливать ли анонимов или оставлять.

    striker, 17 Апреля 2010

    Комментарии (288)
  11. VisualBasic / Говнокод #28567

    −3

    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
    Public Function DescendingSort(ByRef Data As Variant) As Variant
        Dim i As Long
        For i = LBound(Data) To UBound(Data) - 1
            Dim j As Long
            For j = i + 1 To UBound(Data)
                If Data(i) < Data(j) Then
                    Dim Temp As Variant
                    Temp = Data(j)
                    Data(j) = Data(i)
                    Data(i) = Temp
                End If
            Next
        Next
    
        DescendingSort = Data
    End Function

    Вот все спрашивают, зачем на собеседованиях требуют сортировки писать — так вот для этого! Вдруг вам придётся писать на «VBA»?
    > Как в VBA правильно создавать одномерный массив. ArrayList
    https://habr.com/ru/post/712000/

    ISO, 23 Января 2023

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