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

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <tr>
    <td><td><td><td><td><td><td><td>
    &nbsp;
    </td></td></td></td></td></td></td></td>
    </tr>

    взялся за реконструкцию одного проекта... там есть сводная таблица и она должна быть разделена на 10 частей по вертикали... Предыдущий программист реализовал разделитель так...

    dexif, 07 Ноября 2010

    Комментарии (6)
  3. JavaScript / Говнокод #4538

    +165

    1. 1
    alert(( (/([^(A-z)&&(А-я)])/ || prompt.length<1 ).test(prompt('Введите Ваше имя',''))) ? 'Ошибка' : 'Принято')

    Не совсем говнокод, просто весёлый бред. Найдено здесь http://tinyurl.com/22w4b8q

    eval, 05 Ноября 2010

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

    +151

    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
    void TPEForm::LoadFromFile(AnsiString _FileName)
    {
        FileName = _FileName;
        Caption = FileName + " - " + DOS_HEADER_STRING;
        iPEFileHandle = FileOpen(FileName,fmOpenRead);
        FileRead(iPEFileHandle,&dos_header,sizeof(IMAGE_DOS_HEADER));
        TreeView->Items->AddChild(NULL,DOS_HEADER_STRING);
        dos_header_frame = new TDOSHeader(this);
        dos_header_frame->Parent = Panel;
        dos_header_frame->e_magic->Text = "0x"+IntToHex(dos_header.e_magic,4);
        dos_header_frame->e_cblp->Text = "0x"+IntToHex(dos_header.e_cblp,4);
        dos_header_frame->e_cp->Text = "0x"+IntToHex(dos_header.e_cp,4);
        dos_header_frame->e_crlc->Text = "0x"+IntToHex(dos_header.e_crlc,4);
        dos_header_frame->e_cparhdr->Text = "0x"+IntToHex(dos_header.e_cparhdr,4);
    ...
        dos_header_frame->e_ovno->Text = "0x"+IntToHex(dos_header.e_ovno,4);
        dos_header_frame->e_oemid->Text = "0x"+IntToHex(dos_header.e_oemid,4);
        dos_header_frame->e_oeminfo->Text = "0x"+IntToHex(dos_header.e_oeminfo,4);
        dos_header_frame->e_lfanew->Text = "0x"+IntToHex((int)dos_header.e_lfanew,4);
    
    ...
    
        TreeView->Items->AddChild(nt_header_node,FILE_HEADER_STRING);
        file_header_frame = new TFileHeader(this);
        file_header_frame->Parent = Panel;
        file_header_frame->Machine->Text = "0x"+IntToHex((int)nt_header.FileHeader.Machine,4);
        file_header_frame->NumberOfSections->Text = "0x"+IntToHex((int)nt_header.FileHeader.NumberOfSections,4);
        file_header_frame->TimeDateStamp->Text = "0x"+IntToHex((int)nt_header.FileHeader.TimeDateStamp,8);
        file_header_frame->PointerToSymbolTable->Text = "0x"+IntToHex((int)nt_header.FileHeader.PointerToSymbolTable,8);
        file_header_frame->NumberOfSymbols->Text = "0x"+IntToHex((int)nt_header.FileHeader.NumberOfSymbols,8);
        file_header_frame->SizeOfOptionalHeader->Text = "0x"+IntToHex((int)nt_header.FileHeader.SizeOfOptionalHeader,4);
        file_header_frame->Characteristics->Text = "0x"+IntToHex((int)nt_header.FileHeader.Characteristics,4);
    
        TTreeNode *optional_header_node = TreeView->Items->AddChild(nt_header_node,OPTIONAL_HEADER_STRING);
        optional_header_frame = new TOptionalHeader(this);
        optional_header_frame->Parent = Panel;
    
        TreeView->Items->AddChild(optional_header_node,STANDARD_FIELDS_STRING);
        standard_fields_frame = new TStandardFieldsFrame(this);
        standard_fields_frame->Parent = Panel;
        TTreeNode *additional_fields_node = TreeView->Items->AddChild(optional_header_node,ADDITIONAL_FIELDS_STRING);
        additional_fields_frame = new TAdditionalFieldsFrame(this);
        additional_fields_frame->Parent = Panel;
    
        standard_fields_frame->Magic->Text = "0x"+IntToHex((int)nt_header.OptionalHeader.Magic,4);
        standard_fields_frame->MajorLinkerVersion->Text = "0x"+IntToHex((int)nt_header.OptionalHeader.MajorLinkerVersion,2);
    ...
        additional_fields_frame->ImageBase->Text = "0x"+IntToHex((int)nt_header.OptionalHeader.ImageBase,8);
        additional_fields_frame->SectionAlignment->Text = "0x"+IntToHex((int)nt_header.OptionalHeader.SectionAlignment,8);
        additional_fields_frame->FileAlignment->Text = "0x"+IntToHex((int)nt_header.OptionalHeader.FileAlignment,8);
    
    ...

    писал на третьем курсе загрузку заголовка PE-файлов в GUI

    stas, 05 Ноября 2010

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

    +144

    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
    Хочу провести маленький опрос.
    
    Внимание вопрос:
    Считать ли код говнокодом, если:
    
    а) он выполняет свою работу хорошо.
    б) его легко поддерживать.
    в) не используются хаки (т.е. код переносим, не зависит от браузера и т.д.)
    
    ?
    
    ЧЁТКО выполняются эти 3 условия, и не важно, что в коде, например, используется даже оператор goto.
    
    Моё мнение - нет, если эти 3 условия выполняются.

    Oleg_quadro, 01 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private static final Color COLOR_GREEN = Color.GREEN;
      private static final Color COLOR_GREEN_DARK = JBoard.COLOR_GREEN;
      private static final Color COLOR_RED = Color.RED;
      private static final Color COLOR_RED_DARK = JBoard.COLOR_RED;
      private static final Color COLR_GRAY = Color.GRAY;

    упс, это я случайно )))) если вы это видите, то я это уже рефакторю ))))

    Lure Of Chaos, 29 Октября 2010

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $vars = array();
    if(isAccess($down['view'])) {
    	$url = '<a href="index.php?mod=load&amp;op=down&amp;id='.$id.'" target="_blank">Скачать</a>';
    } else {
    	$url = 'Файл недоступен гостям';
    }
    $vars['url'] = $url;

    Мартин, 29 Октября 2010

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

    +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
    <?php
    
    class Model_Crypt_FactoryCipher {
        
        const BlOWFISH = 'Model_Crypt_BlowFishCipher';
        
        
        /**
         * создает экземпляр cipher для указанного алгоритма
         * 
         * @return Model_Crypt_BlowFishCipher
         */
        public static function createCipher($crypt) {
            
            $cipher = new $crypt;
            
            if ($cipher instanceof Model_Crypt_BlowFishCipher) {
                return new Model_Crypt_BlowFishCipher ();
            } else {
                throw new Exception ( "This algoritm <$crypt> not implement yet" );
            }
        }
    
    }

    Гениальная фабрика. Используется один раз путем передачи константы "BlOWFISH" в метод createCipher()

    user654321, 29 Октября 2010

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

    +158

    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
    function rateWidth($rating){
    $rating = parseFloat($rating);
    switch ($rating){
    case 0.5: $width = "14px"; break;
    case 1.0: $width = "28px"; break;
    case 1.5: $width = "42px"; break;
    case 2.0: $width = "56px"; break;
    case 2.5: $width = "70px"; break;
    case 3.0: $width = "84px"; break;
    case 3.5: $width = "98px"; break;
    case 4.0: $width = "112px"; break;
    case 4.5: $width = "126px"; break;
    case 5.0: $width = "140px"; break;
    default:  $width =  "84px";
    }
    return $width;
    }
    
    
    function starSprite($rating){
    $rating = parseFloat($rating);
    switch ($rating){
    case 0.5: $pos = "-11px"; break;
    case 1.0: $pos = "-22px"; break;
    case 1.5: $pos = "-33px"; break;
    case 2.0: $pos = "-44px"; break;
    case 2.5: $pos = "-55px"; break;
    case 3.0: $pos = "-66px"; break;
    case 3.5: $pos = "-77px"; break;
    case 4.0: $pos = "-88px"; break;
    case 4.5: $pos = "-99px"; break;
    case 5.0: $pos = "-110px"; break;
    default:  $pos =  "-77px";
    }
    return $pos;
    }
    });

    Казалось бы — [:||||:]
    Но на него я попал с туториала для jquery.com

    Взято отсюда: http://eligeske.com/jquery/jquery-star-comment-rating/

    mrbig66, 27 Октября 2010

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

    +175

    1. 1
    std::vector<SOCKET*> _socket_vector; // В деструкторе удалить это хозяйство. Удалив это хозяйство, удалить этот комментарий

    Задокументированная утечка памяти)

    seregakabancheg, 26 Октября 2010

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

    +156

    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
    function vstyle($col_num, $arr) {
    	$a = array();
    	$size	= sizeof($arr);
    
    	$row_num	= floor( $size / $col_num);
    	if(count($arr) <= 0) {
    		return $a;
    	}
    	for( $i = 0; $i < $col_num - 1; $i++) {
    		$a[$i] = array_slice( $arr, $i * $row_num, $row_num);
    	}
    		$a[$col_num - 1]	= array_slice( $arr, $row_num * ($col_num - 1), $size - $row_num * ($col_num - 1));
    /*	foreach($arr as $key=>$value) {
    
    		$num	= $i % $col_num;
    		$a[$num][$key]	= $value;
    		$i++;
    	}
    */
    	return $a;
    }

    array_chunk суровый и безпощадный

    DrFreez, 25 Октября 2010

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