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

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    for( int b = 0; b < cntblocket; ++b )
    {
        delete msrLst[b]->record;
        delete msrLst[b]->record;
    }

    Сразу вспоминается: "- А зачем у вас тут два одинаковых jump'а стоять? - А вдруг один не сработает?"

    Видимо, совсем не выспался программист ;)

    ftptrash, 13 Ноября 2010

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

    +160

    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
    while ($row = mysql_fetch_assoc($result)) {
        $target[$row["L"] . $row["S"]]["G"] += $row["G"];
        $target[$row["L"] . $row["S"]]["G_S"] += $row["G_S"];
        $target[$row["L"] . $row["S"]]["PEN"] += $row["PEN"];
        switch ($row["IG"]) {
            case 0: 
                $target[$row["L"] . $row["S"]]["NO"] += 1;
            break;
            case 1: 
                $target[$row["L"] . $row["S"]]["MAYBE"] += 1;
            break;
            case 2: 
                $target[$row["L"] . $row["S"]]["YES"] += 1;
            break;
        }
    }

    advvzlol, 10 Ноября 2010

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

    +160

    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
    class XXX
    {
    	function _item()
    	{
    		return $this->val = substr(__FUNCTION__,1);
    	}
    
    	function _lister()
    	{
    		return $this->val = substr(__FUNCTION__,1);
    	}
    
    	function item()
    	{
    		return ($this->val === __FUNCTION__);
    	}
    
    	function lister()
    	{
    		return ($this->val === __FUNCTION__);
    	}
    
    	function __construct()
    	{
    		$this->_lister();
    	}
    }

    В прицнипе пофиг что оно делает. Но смотреть без слез, имхо нельзя :)

    grelkin, 21 Октября 2010

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    std::string ScriptInfo::GetDebugInfo() const
    {
        char sz[256];
        sprintf(sz, "%s ('%s' script id: %u)", GetScriptCommandName(command).c_str(), GetScriptsTableNameByType(type).c_str(), id);
        return std::string(sz);
    }

    Может, не совсем говнокод, но меня от подобного коробит.

    Oops, 17 Октября 2010

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

    +160

    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
    #include <iostream>
    using namespace std;
    int main(){
    char b,a[1001];
    int i, c=0;
    cin >> b;
    for(i=1; i<=1000; i++)
      cin >> a[i];
    for( i=1; i<=1000; i++)
      if(a[i]=='b') c++;
    
    cout <<c<<" "<<b<<" characters in ";
    for(i=1; i<=1000; i++)
      cout << a[i];
    return 0;
    }  //помогите найти ошибку

    Источник - http://tinyurl.com/26n9df5

    Skiv, 12 Октября 2010

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    //Global definitions
    //Joomla framework path definitions
    $parts = explode( DS, JPATH_BASE );
    
    //Defines
    define( 'JPATH_ROOT',			implode( DS, $parts ) );

    Joomla! 1.5.21
    Файл: includes/defines.php

    sectus, 11 Октября 2010

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

    +160

    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
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    /*
    [... выдержки из файла functions.php ...]
    */
    function secure_input_string($string,$strip = true) {
    	/*Функция позволяет обезопасить вводимые пользователем данные путем применения ряда функций в входной строке
    	 * Входная строка должна быть текстом (string) */
    	if ((bool)$strip) {
    		//Усечение пробелов
    		$string = trim($string);
    		//Удаление PHP и HTML тегов
    		//$string = strip_tags($string);
    		//Перевод специальных символов в html эквиваленты
    		$string = htmlspecialchars($string);
    		//Отмена спец-символов обратными косыми чертами
    	}
    	//Удаление попыток вставки кода php или xml
    	$badcode = array('<?php','?>');
    	$code = array('<','>');
    	$string = str_replace($badcode,$code,$string);
    	return $string;
    }
    
    function get_rus_date($ymy) {
    	/*Функция для замены английский названий месяцев русскими названиями*/
    	//Предпологается, что данные поступили в формате ДД JAUNARY 2010, иначе выполнение функции не имеет смысла
    	//Массив с датами на английском
    	$eng = array('January','February','March','April','May','June','July','August','September',
    				'October','November','December');
    	//Массив с датами на русском
    	$rus = array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь',
    				'Октябрь','Ноябрь','Декабрь');
    	//Замена английских месяцов на русские
    	$ymy = str_replace($eng,$rus,$ymy);
    	return $ymy;
    }
    
    function str_size($size) {
    	//Функция для предаставления размера файла из функции filesize (возвращающуу байты) в удобочитаемый вид
    	//Приведение к строковому типу
    	$size = (string)$size;
    	if (strlen($size) == 0) {
    		//Не удалось получить размер файла
    		return false;
    	}
    	else if (strlen($size) <= 3) {
    		//Размер указан в Байтах
    		return $size.' byte';
    	}
    	else if (strlen($size) >= 4 && strlen($size) < 7) {
    		//Размер указан в Килобайтах
    		$size = (int)$size;
    		$size_k = $size/1024;
    		//Удалить двойную точность
    		$size_k = (int)$size_k;
    		return $size_k.' Kb';
    	}
    	else if (strlen($size) >= 7 && strlen($size) < 10) {
    		//Размер указан в Мегабайтах
    		$size = (int)$size;
    		$size_m = $size/1024;
    		$size_m = $size_m/1024;
    		//Оставить только один знак после точки
    		$size_m = round($size_m,1);
    		$size_m = $size_m.' Мб';
    		return $size_m;
    	}
    	else if (strlen($size) >= 10 && strlen($size) < 13) {
    		//Размер указан в Гигабайтах
    		$size = (int)$size;
    		$size_m = $size/1073741824;
    		//Оставить только один знак после точки
    		$size_m = round($size_m,1);
    		$size_m = $size_m.' Гб';
    		return $size_m;
    	}
    	else {

    Продолжение трагикомической эпопеи http://govnokod.ru/4278
    Орфография и пунктуация сохранены

    istem, 20 Сентября 2010

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

    +160

    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
    <?php
    
    define ('SENGINES',serialize(
    		array(
    				'yandex',
    				'google',
    				// ... тут их еще несколько
    				)));
    
    class <засекречено> {
    
     	/**
    	 * engines
    	 *
    	 * @var array
    	 */
    	private $_engines = unserialize(SENGINES);
    
            // ...
    
    }

    user654321, 10 Сентября 2010

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

    +160

    1. 1
    2. 2
    3. 3
    <?php
    
    if (preg_match("/\.[gjpi][ipnc][fgo]/i", $_SERVER['REQUEST_URI'])) exit;

    user654321, 08 Сентября 2010

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

    +160

    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
    <?php
    require_once 'mainfunc.php';
    $template->msg('SET TITLE', $conf['wiki']['title']);
    $rev = intval(@$_GET['rev']);
    if(@$_GET['ae']){session_destroy();unset($admin);}
    ?>
    <h1><?= $conf['wiki']['title']; ?></h1>
    <p><a href="create.php">[Создать статью]</a> <?php
    if($rev) echo '<a href="index.php?rev=0">[Перевернуть]</a>';
    else echo '<a href="index.php?rev=1">[Перевернуть]</a>';
    ?></p>
    <?php
    $tpr = array();
    echo '<p>';
    $fls = array();
    foreach(scandir('files') as $k) if($k{0}!='.') $fls[]=$k;
    natsort($fls);
    if($rev) $fls=array_reverse($fls);
    foreach($fls as $k){
      if($k{0}=='-') continue;
      $f=file('files/'.$k);
      if($f[0]{0}=='#') $f[0]{0}='';  $tpr[] = '<a href="view.php?id='.$k.'">'.$f[0].'</a><br>';
    }
    $pnav = new PageNavigator($tpr, 'index.php?page=$p&rev='.$rev);
    $pnav->page();
    echo '</p>';
    echo '<p class="nav">';
    $pnav->panel();
    echo '</p>';
    if(@$admin) echo '<p>Вы админ <a href="index.php?ae=1">[X]</a></p>';
    $template->act(); //Запускаем вывод
    ?>

    Инновационный вики-движок для вап-интернета, в действии можно посмотреть здесь: http://wiki.wup.ru/
    От одного index.php становится худо.
    Плюс работает это еще с помощью какого-то фреймворка, при этом весь html размазан практически по всему проекту, да и все это еще на файлах.
    Куча дыр, фильтрующие регулярки не пашут, даже банального антифлуда нет - можно жать f5 и радоваться.
    Полностью сорцы можно скачать тут: http://wiki.wup.ru/wikibackups/

    7ion, 06 Сентября 2010

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