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

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

    −168

    1. 1
    staticDataTemp = com.adobe.serialization.json.JSON.encode(com.adobe.serialization.json.JSON.decode(e.target.data));

    kyzi007, 08 Мая 2012

    Комментарии (9)
  3. ActionScript / Говнокод #10215

    −159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    appendExclamation("one")("two")("three")("four")("five");
    function appendExclamation(str:String):Function{
      trace(str + "! ");
      return appendExclamation;
    }
    /* outputs:
    one!
    two!
    three!
    four!
    five!
    */

    как-то натолкнулся на одном из блогов

    lammar, 08 Мая 2012

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

    −119

    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
    Если      НовыйСтатус = Перечисления.веб_СтатусыВебЗаказов.Ожидает Тогда
            СтатусЗаказаСтр = "Ожидает";
    ИНачеЕсли НовыйСтатус = Перечисления.веб_СтатусыВебЗаказов.Обработан Тогда
            СтатусЗаказаСтр = "Обрабатывается";
    ИНачеЕсли НовыйСтатус = Перечисления.веб_СтатусыВебЗаказов.Оплачен Тогда
            СтатусЗаказаСтр = "Оплачен";
    ИНачеЕсли НовыйСтатус = Перечисления.веб_СтатусыВебЗаказов.ОтправленПокупателю Тогда
            СтатусЗаказаСтр = "Отгружен";
    ИНачеЕсли НовыйСтатус = Перечисления.веб_СтатусыВебЗаказов.Завершен Тогда
            СтатусЗаказаСтр = "Готов";
    ИНачеЕсли НовыйСтатус = Перечисления.веб_СтатусыВебЗаказов.Отменен Тогда
            СтатусЗаказаСтр = "Отменён";
    КонецЕсли;

    Приведение типов? Нет, не слышал.

    qweqwe, 03 Мая 2012

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

    +91

    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
    //Постраничная навигация
    $result77 = mysql_query("SELECT str FROM ..."); 
    $myrow77 = mysql_fetch_array($result77);
    $num = $myrow77["str"];
    
    // Извлекаем из URL текущую страницу
    @$page = $_GET['page'];
    
    // Определяем общее число сообщений в базе данных
    $result00 = mysql_query("SELECT COUNT(*) FROM ...");
    $temp = mysql_fetch_array($result00);
    $posts = $temp[0];
    
    // Находим общее число страниц
    $total = (($posts - 1) / $num) + 1;
    $total =  intval($total);
    
    // Определяем начало сообщений для текущей страницы
    $page = intval($page);
    // Если значение $page меньше единицы или отрицательно
    // переходим на первую страницу
    // А если слишком большое, то переходим на последнюю
    if(empty($page) or $page < 0) $page = 1;
    if($page > $total) $page = $total;
    // Вычисляем начиная с какого номера
    // следует выводить сообщения
    $start = $page * $num - $num;
    // Выбираем $num сообщений начиная с номера $start                                     
    $result_gb1 = mysql_query("SELECT * FROM . ORDER BY id DESC LIMIT $start, $num");
    $myrow_gb1 = mysql_fetch_array($result_gb1);
    $list = 1;
    
    switch($page)
    {
        case "2":
        $list = $num + 1;
        break;
        case "3":
        $list = $num * 2 + 1;
        break;
        case "4":
        $list = $num * 3 + 1;
        break;
        case "5":
        $list = $num * 4 + 1;
        break;
        case "6":
        $list = $num * 5 + 1;
        break;
        case "7":
        $list = $num * 6 + 1;
        break;
        case "8":
        $list = $num * 7 + 1;
        break;
    }

    Навигация по страницам, написанная человеком с гуманитарным складом ума...

    Мартин, 02 Мая 2012

    Комментарии (9)
  6. ActionScript / Говнокод #10165

    −204

    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
    // avm+ specific utility method
     public static function throwError(type:Class, index:uint, ... rest)
     {
         // This implements the same error string formatting as the native
         // method PrintWriter::formatP(...) any changes to this method should
         // also be made there to keep the two in sync.
         var i=0;
         var f=function(match, pos, string)
         {
             var arg_num = -1;
             switch(match.charAt(1))
             {
                 case '1':
                     arg_num = 0;
                     break;
                 case '2':
                     arg_num = 1;
                     break;
                 case '3':
                     arg_num = 2;
                     break;
                 case '4':
                     arg_num = 3;
                     break;
                 case '5':
                     arg_num = 4;
                     break;
                 case '6':
                     arg_num = 5;
                     break;
             }
             if( arg_num > -1 && rest.length > arg_num )
                 return rest[arg_num];
             else
                 return "";
         }
         throw new type(Error.getErrorMessage(index).replace(/%[0-9]/g, f), index);
     }

    http://hg.mozilla.org/tamarin-redux/file/fdf1416a3536/core/Error.as
    Проблемы с устным счетом, да и не только...

    wvxvw, 02 Мая 2012

    Комментарии (9)
  7. Куча / Говнокод #10146

    +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
    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
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    У МЕНЯ БОЛЬШОЙ ХУЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    uiopqwertyasd, 01 Мая 2012

    Комментарии (9)
  8. 1C / Говнокод #9986

    −144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Функция ПроверкаОснДаты(Конт,Текст) Экспорт
    	Попытка	Дат=Конт.ДатаОперации;
    	Исключение
    		Попытка		Дат=Конт.ДатаДок;
    		Исключение	Дат='';	КонецПопытки;
    	КонецПопытки;
    	Если Дат<Константа.ОснДатаГл Тогда
    		ДействиеНеВыполнено(Шаблон("[Текст]. Период закрыт"));
    	КонецЕсли;
    	Возврат СтатусВозврата();
    КонецФункции

    Terrible, 19 Апреля 2012

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

    +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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    > В какую середину?) он ставиться на свое место. У тебя не верное представление об устройстве данных в памяти. 
    
    procedure TForm1.Button1Click(Sender: TObject);
    type
    parr = ^tarr;
    tarr = array of integer;
    var
    pparr: array of parr;
    begin
    setlength(pparr,1);
    memo1.Lines.Add('first array pointer '+inttostr(integer(@pparr)));
    new(pparr[0]);
    memo1.Lines.Add('second array pointer '+inttostr(integer(pparr[0])));
    memo1.Lines.Add('first element '+inttostr(integer(pparr[0]^)));
    end;
    
    > вывод 
    
    first array pointer 1242664
    second array pointer 10822692
    first element 0

    Человек нашёл единственно верный путь использования двумерных динмассивов. Через указатель на указатель, правда он сам этого не понимает. Авторское форматирование и орфография сохранены.

    Источник:
    http://www.gamedev.ru/projects/forum/?id=161043&page=3#m35

    TarasB, 13 Апреля 2012

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

    +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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line1, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line2, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line3, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line4, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line5, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line6, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line7, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line8, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line9, 0, y));

    вот так один паренек загружает в атлас текстуры....
    нафиг циклы вообще нужны (=

    TeknoMatik, 13 Апреля 2012

    Комментарии (9)
  11. C++ / Говнокод #9927

    +154

    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
    #include "stdafx.h"
    #include "expression.h"
    #include <vector>
    
    int _tmain(int argc, _TCHAR* argv[]) {
    //Инициализация
    	std::vector<expression> arrayOfExpressions;
    	std::string inputString;
    //Ввод количества выражений
    	printf( "Enter expressions count: " );
    	int countOfExpressions = 0;
    	scanf( "%d", &countOfExpressions );
    //Ввод самих выражений
    	for ( int i = 1; i <= countOfExpressions; i++ ) {
    		printf( "Enter expression: " );
    		scanf( "%s", inputString );
    		arrayOfExpressions.push_back( expression( inputString ) );
    	}
    //Подсчёт операторов
    	int total = 0;
    	for (int i = 0; i < arrayOfExpressions.size(); i++)
    		total += arrayOfExpressions.at(i).operatorsCount();
    	printf( "Total operators = %d", total );
    //Освобождение памяти
    	arrayOfExpressions.erase(arrayOfExpressions.begin(),arrayOfExpressions.end());
    	return 0;
    }

    Один из уже известных вам студентов написал вот это. Вроде получше.

    Fai, 11 Апреля 2012

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