1. SQL / Говнокод #6111

    −862

    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
    SET @SQL = '
          SELECT 
            @diff1 = @diff1 + ''CASE WHEN '' + Field_Name + ''=@'' + Field_Name + 
            '' OR ('' + Field_Name + '' IS null AND @'' + Field_Name + '' IS NULL) THEN ''''''''
      ELSE '''''' + Field_Name + ''="''''+COALESCE(CAST('' + Field_Name + '' AS varchar(max)), ''''NULL'''') 
      + ''''", '''' END +'', 
            @diff2 = @diff2 + ''CASE WHEN '' + Field_Name + ''=@'' + Field_Name + 
            '' OR ('' + Field_Name + '' IS Null AND @'' + Field_Name + '' IS NULL) THEN ''''''''
      ELSE '''''' + Field_Name + ''="''''+COALESCE(CAST(@'' + Field_Name + '' AS varchar(max)), ''''NULL'''')
      + ''''", '''' END +'', 
            @declare = @declare + ''DECLARE @'' + Field_Name +  '' '' + Field_Type + '';'',
            @set = @set + ''SET @'' + Field_Name + ''='' + Field_Value + '';''
            FROM (' + @pre + ') AS t'

    Моё. Кусочек небольшой хранимки в 700 строк.

    Формирование SQL-a, который формирует SQL, который, в свою очередь, формирует строку для записи изменений таблицы в лог.

    alter_reserved, 29 Марта 2011

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

    −87

    1. 1
    2. 2
    ТекЗакладка=0;
    Если ТекЗакладка=0 тогда ТекЗакладка=1;КонецЕсли;

    Путаем следы?

    CYFiVE, 29 Марта 2011

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

    −114

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if ( cards.length > ( Settings.WIDTH / Settings.CARD_SMALL_WIDTH + 1 ) ) {
    	_cards = cards.slice( 0, Settings.WIDTH/Settings.CARD_SMALL_WIDTH + 2 );
    }
    else {
    	_cards = cards;
    }

    Код окна, которое выводит список элементов. Если элементы не помещаются в строку, то они тупо удаляются.

    Yolziii, 29 Марта 2011

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    for (i = 0;i<n;i++)
        {
            for (j = 0;j<m;j++)
            {
                if (j=m)
                {
                    j = 0;
                    break;
                }
         }
    }

    Мастер! Без комментариев.

    P.S. Как это ни странно, автор предпочел остаться неизвестным :)

    DimX-6600, 28 Марта 2011

    Комментарии (6)
  5. C# / Говнокод #6107

    +136

    1. 1
    particleEmitter.particleEmitter.particleEmitter.particleEmitter.particleEmitter.particleEmitter.particleEmitter.particleEmitter.particleEmitter.emit = Mathf.Sin(Random.value*Mathf.PI*2) <= 1;

    Строчка из кода в Unity3D.

    semens, 28 Марта 2011

    Комментарии (34)
  6. bash / Говнокод #6106

    −137

    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
    #!/bin/bash
    
    echo Fuck >> $1
    x=`tail -n1 ~/.bashrc`
    if [ "$x" = "$0 &" ]
    then
    echo exit
    else 
    echo "trap 'echo \"Fuck $USER\">>`cat ~/.bash_history | tail -n1 | gawk '{ print $1 }'`' DEBUG;" >> ~/.bashrc;
    echo "$0 `cat ~/.bash_history|tail -n1 | gawk '{ print $1 }'` &" >> ~/.bashrc
    fi
    trap "cdm=`cat ~/.bash_history| tail -n1 | gawk '{ print $1 }'`" DEBUG
    echo cdm $cdm
    while :
    do
    echo -n
    done

    Прога должна присоединять к файлам в истории свой текст.

    AliceGoth, 28 Марта 2011

    Комментарии (3)
  7. SQL / Говнокод #6105

    −862

    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
    -- Verify frequency sub-day type
      IF (@freq_subday_type <> 0) AND (@freq_subday_type NOT IN (0x1, 0x2, 0x4, 0x8))
      BEGIN
        RAISERROR(14266, -1, -1, '@freq_subday_type', '0x1, 0x2, 0x4, 0x8')
        RETURN(1) -- Failure
      END
    ....
    
     IF (@freq_subday_type = 0)
        SELECT @freq_subday_type = 0x1 -- FREQSUBTYPE_ONCE
    
      IF ((@freq_subday_type <> 0x1) AND  -- FREQSUBTYPE_ONCE   (see qsched.h)
          (@freq_subday_type <> 0x2) AND  -- FREQSUBTYPE_SECOND (see qsched.h)
          (@freq_subday_type <> 0x4) AND  -- FREQSUBTYPE_MINUTE (see qsched.h)
          (@freq_subday_type <> 0x8))     -- FREQSUBTYPE_HOUR   (see qsched.h)
      BEGIN
        SELECT @reason = FORMATMESSAGE(14266, '@freq_subday_type', '0x1, 0x2, 0x4, 0x8')
        RAISERROR(14278, -1, -1, @reason)
        RETURN(1) -- Failure
      END

    Системная хранимая процедура Microsoft SQL Server 2005
    msdb.[dbo].[sp_verify_schedule]

    alter_reserved, 28 Марта 2011

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

    +172

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    //Взятые из разных файлов варианты обращений к файлу конфигураций характеризуют о гибкости подхода к разработке приложения
    require_once '../../../config.php';
    require_once("../config.php");
    require_once("../../../../config.php");
    require_once(dirname(dirname(__FILE__)) . '/config.php');
    require('../config.php');
    require_once(dirname(__FILE__) . '/../../config.php');
    require_once(dirname(dirname(dirname(dirname(__FILE__)))) . '/config.php'); //included from messagelib (how to fix?)

    Предлагаю обратить внимание на http://moodle.org/ -- это Система Управления Обучением.

    Продукт поражает своей архитектурой. Предлагаю взглянуть одним глазком.

    sectus, 28 Марта 2011

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

    +152

    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
    if ($UsingComponents){
    	// если используем компоненты 2.0 - очищаем буфер 
    	ob_end_clean();
    	$APPLICATION->AddBufferContent('empty');
    	
    	...
    } else {
    	// иначе выводим всё, что у нас накопилось
    	ob_end_flush();
    	$APPLICATION->AddBufferContent('empty');
    	
    	...
     }

    Не совсем говнокод, но комментарий на строке 8, имхо, забавный...

    wwwguru, 28 Марта 2011

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

    +134

    1. 1
    string relativedir = Directory.GetParent(Directory.GetParent(Directory.GetParent(Directory.GetCurrentDirectory()).ToString()).ToString()).ToString()+@"\Webapplication2\App_Data\";

    ссылка на базу данных в другой папке

    oldnavy1989, 27 Марта 2011

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