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

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

    −179

    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
    class Source:
    		id = ''
    		values = []
    		arrays =[ ( 'bool_array', bool), ( 'float_array', float), ('IDREF_array', str), ('int_array', int), ('Name_array', str), ('SIDREF_array', str), ('token_array', str)]
    		
    		def __init__(self, node):
    			self.id = node.getAttribute('id')
    			
    			accessors = dict([ (accessor.getAttribute('source')[1:], (int(accessor.getAttribute('count')), int(accessor.getAttribute('stride'))) ) for technique in node.getElementsByTagName("technique_common") for accessor in technique.getElementsByTagName("accessor") ])
    			values = [(arrayNode.getAttribute('id'), int(arrayNode.getAttribute('count')), [array[1](v) for v in getText(arrayNode).split()]) for array in Mesh.Source.arrays for arrayNode in node.getElementsByTagName(array[0])]
    			self.values = [ array[2][i*accessors[array[0]][1]:(i+1)*accessors[array[0]][1]] for array in values for i in range(accessors[array[0]][0])]
    			
    
            <source id="Box001-lib-Position">
              <float_array id="Box001-lib-Position-array" count="24">-23.296745 -46.390999 0.000000 23.296745 -46.390999 0.000000 -23.296745 46.390999 0.000000 23.296745 46.390999 0.000000 -23.296745 -46.390999 35.287621 23.296745 -46.390999 35.287621 -23.296745 46.390999 35.287621 23.296745 46.390999 35.287621</float_array>
              <technique_common>
                <accessor source="#Box001-lib-Position-array" count="8" stride="3">
                  <param name="X" type="float"/>
                  <param name="Y" type="float"/>
                  <param name="Z" type="float"/>
                </accessor>
              </technique_common>
            </source>
    
    в результате нужно получить список в виде
    [[-23.296745, -46.390999, 0.0], [23.296745, -46.390999, 0.0], [-23.296745, 46.390999, 0.0], [23.296745, 46.390999, 0.0], [-23.296745, -46.390999, 35.287621], [23.296745, -46.390999, 35.287621], [-23.296745, 46.390999, 35.287621], [23.296745, 46.390999, 35.287621]]

    Неделю назад начал учить питон, и для того чтоб это было совсем полезно, решил попробовать написать на нем парсер Collada файлов.
    Очень сильно проникся идеей инициализации массивов, из-за чего и родился сей говнокод...
    Код выдает правильный результат, но абсолютно не читаемый...

    pushkoff, 13 Декабря 2010

    Комментарии (21)
  3. Pascal / Говнокод #4895

    +107

    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
    Uses Windows;
    Var Olly : hWnd;
    begin
     Olly:=FindWindow('OllyDBG', nil);
     If Olly <> 0 then Exit;
     Olly:=FindWindow('OllyDbg', nil);
     If Olly <> 0 then Exit;
     Olly:=FindWindow('OLLYDBG', nil);
     If Olly <> 0 then Exit;
     Olly:=FindWindow('ollydbg', nil);
     If Olly <> 0 then Exit;
     MessageBox(0, 'You are run me!', 'RunMe v0.1', 48);
    end.

    Код моей молодости. Кто не вкурил, это такая говнозащита от отладчика OllyDbg.

    Govnocoder#0xFF, 11 Декабря 2010

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

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    for (int j = 0; j < fieldsToRemove.size(); j++) {
    	if (fieldsToDelete.getField(j).getKind().equals("GroupField")) {
    		resFieldContr.remove(j--);
    	}
    }

    собственно цикл.
    нашел в рабочем проекте

    tas, 30 Ноября 2010

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

    +174

    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
    // used to set or reset batch mode
    void SetIsBatch(bool bSet)
    {
        if(bSet)
        {
            if(m_Chart.GetIsBatched())
                return;
            else
            {
                m_Chart.SetIsBatched(TRUE);
            }
        }
        else
        {
           if(m_Chart.GetIsBatched())
           {
               m_Chart.SetIsBatched(FALSE);
           }
           else
               return;
        }
    }

    Shumway, 24 Ноября 2010

    Комментарии (21)
  6. PHP / Говнокод #4718

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    ob_start();
    $goodsInterested = clone Core::$Controllers->Helpers->Good_Recomendation;
    $goodsInterested->display(array(
    	"modelId" => $this->model['id'],
    	"type" => 'interested',
    ));
    $interested = ob_get_clean();

    В системе виджеты - синглтоны.
    Чтобы как-то хоть работать, клонируем синглтон (!!!)
    Результат приходится оборачивать в ob_start, т.к не предусмотрено ничего типа echo $widget->render();

    mitallast, 23 Ноября 2010

    Комментарии (21)
  7. 1C / Говнокод #4680

    −121

    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
    Процедура УстановкаНомераЛицевогоСчета()
    	
    	Запрос = Новый Запрос();
    	Запрос.Текст =
    	"ВЫБРАТЬ
    	|	КВП_ЛицевыеСчета.Наименование
    	|ИЗ
    	|	Справочник.КВП_ЛицевыеСчета КАК КВП_ЛицевыеСчета
    	|ГДЕ
    	|	(НЕ КВП_ЛицевыеСчета.ЭтоГруппа)";
    	
    	МаксНомер      = 0;
    	Выборка        = Запрос.Выполнить().Выбрать();
    	ВсегоВариантов = Выборка.Количество();
    	ТекВариант     = 1;
    	Пока Выборка.Следующий() Цикл
    		Номер = ВыбратьТолькоЦифры(Выборка.Наименование);
    		Если МаксНомер < Число(Номер) Тогда
    			МаксНомер = Число(Номер);
    		КонецЕсли;
    		Состояние("Поиск максимального лицевого счета: " + ТекВариант + " / " + ВсегоВариантов);
    		ТекВариант = ТекВариант + 1;
    	КонецЦикла;
    	
    	МаксНомер = МаксНомер + 1;
    	ИмяЛицевогоСчета = "л/с №" + Формат(МаксНомер, "ЧДЦ=0; ЧГ=0");
    	
    КонецПроцедуры

    Процедура для присвоения Кода новому элементу справочника. Из одной серьезной официальной конфигурации.

    nickkk, 19 Ноября 2010

    Комментарии (21)
  8. C++ / Говнокод #4625

    +163

    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
    long Date :: ConvertToDays()
        {
            int M=0,Y=0;
            for(int i=2;i<=m_Year;i++) 
            {
                if((i%4 == 0) && (i%100 !=0) || (i%400==0))Y+=366;
                else Y+=365;
            }
            for(i=2;i<=m_Month;i++){
                if (i == 1)M=0;else
                if ((((m_Year%4 == 0) && (m_Year%100 !=0) || (m_Year%400==0)) && (i == 3)))M+=29;else
                if ((((m_Year%4 != 0) || ((m_Year%100 ==0) && (m_Year%400 !=0))) && (i == 3)))M+=28;else
                if ((i == 2) || (i == 4) || (i == 6)  || (i == 8) || (i == 9) || (i == 11))M+=31;else
                if ((i == 5) || (i == 7) || (i == 10) || (i == 12))M+=30;
            }
            return m_Day+M+Y;
        }

    Взято с forum.xakep.ru

    psina-from-ua, 14 Ноября 2010

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

    +129

    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
    <body class="not-front not-logged-in page-search no-sidebars layout-first-main sidebars-split font-family-sans-serif-lg font-size-12 grid-type-fluid grid-width-16 fluid-95">
      <div id="page" class="page">
        <div id="page-inner" class="page-inner">
    
          <!-- header-top row: width = grid_width -->
          
          <!-- header-group row: width = grid_width -->
          <div id="header-group-wrapper" class="header-group-wrapper full-width">
            <div id="header-group" class="header-group row grid16-16">
              <div id="header-group-inner" class="header-group-inner inner">
                            <div id="header-site-info" class="header-site-info block">
                  <div id="header-site-info-inner" class="header-site-info-inner inner">
    и т.д. в том же духе

    Блочьненько, семантичьненько, валидьненько.

    telnet, 10 Ноября 2010

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

    −123

    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
    @rem = '--*-Perl-*--
    @echo off
    if "%OS%" == "Windows_NT" goto WinNT
    perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
    goto endofperl
    :WinNT
    perl -x -S %0 %*
    if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
    if %errorlevel% == 9009 echo You do not have Perl in your PATH.
    if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul
    goto endofperl
    @rem ';
    #!perl
    #line 15
        eval 'exec C:\TEMP\perl---please-run-the-install-script---\bin\perl.exe -S $0 ${1+"$@"}'
    	if $running_under_some_shell;
    #!/usr/bin/perl
    # $Id: cpan,v 1.9 2006/11/01 21:49:31 comdog Exp $
    use strict;

    seonull, 03 Ноября 2010

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

    +162

    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
    function brows($str)
     {
    	if(strpos($str,'Googlebot')!==false)
    	{
    		return 'Googlebot';
    	}
    	elseif(strpos($str,'Yandex')!==false)
    	{
    		return 'Yandex';
    	}
    	elseif(strpos($str,'Opera')!==false)
    	{
    		return 'Opera';
    	}
    	elseif(strpos($str,'Firefox')!==false)
    	{
    		return 'Firefox';
    	}
    	elseif(strpos($str,'MSIE')!==false)
    	{
    		return 'MSIE';
    	}
    	elseif(strpos($str,'Chrome')!==false)
    	{
    		return 'Chrome';
    	}
    	elseif(strpos($str,'Yahoo')!==false)
    	{
    		return 'Yahoo';
    	}
    	else
    	{
    		return mysql_real_escape_string($str);	
    	}	
     }

    мне кажется тут явно что-то не чисто :D

    GoodTalkBot, 19 Октября 2010

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