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

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

    +127.4

    1. 1
    idPlansList = ViewState["idPlansList"] is List<int> ? (List<int>)ViewState["idPlansList"] : new List<int>();

    ilya_lysenko, 14 Октября 2009

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

    +165.2

    1. 1
    2. 2
    3. 3
    function nik_slashes(&$value)     {
         return (stripslashes($value));
    }

    Коллега сделал свою функцию для удаления слэшей с блек джеком и всем прочим.

    Acid Beast, 13 Октября 2009

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

    +153.5

    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
    /**
    	* Выполняет запрос SELECT
    	*
    	* @param string  $tables      Список таблиц, разделённый запятыми
    	* @param string  $condition   Условие для выборки (WHERE)
    	* @param string  $order       Поля для сортировки (ORDER BY)
    	* @param string  $fields      Список полей для получения
    	* @param int     $lim_rows    Максимльное количество получаемых записей
    	* @param int     $lim_offset  Начальное смещение для выборки
    	* @param string  $group       Поле для группировки
    	* @param bool    $distinct    Вернуть только уникальные записи
    	*
    	* @return array
    	*/
    	function select($tables, $condition = '', $order = '', $fields = '', $lim_rows = 0, $lim_offset = 0, $group = '', $distinct = false)
    	{
    		if (is_bool($fields) || $fields == '1' || $fields == '0' || !is_numeric($lim_rows)) {
    			# Обратная совместимость c 1.2.x
    			$desc = $fields;
    			$fields = $lim_rows ? $lim_rows : '*';
    			$lim_rows = $lim_offset;
    			$lim_offset = $group;
    			$group = $distinct;
    			$distinct = func_num_args() == 9 ? func_get_arg(8) : false;
    			$query = 'SELECT ';
    			if ($distinct) $query .= 'DISTINCT ';
    			if (!strlen($fields)) $fields = '*';
    			$tables = str_replace('`' ,'', $tables);
    			$tables = preg_replace('/([\w.]+)/i', '`'.$this->prefix.'$1`', $tables);
    			$query .= $fields." FROM ".$tables;
    			if (strlen($condition)) $query .= " WHERE $condition";
    			if (strlen($group)) $query .= " GROUP BY $group";
    			if (strlen($order)) {
    				$query .= " ORDER BY $order";
    				if ($desc) $query .= ' DESC';
    			}
    			if ($lim_rows) {
    				$query .= ' LIMIT ';
    				if ($lim_offset) $query .= "$lim_offset, ";
    				$query .= $lim_rows;
    			}
    		} else {
    			$query = 'SELECT ';
    			if ($distinct) $query .= 'DISTINCT ';
    			if (!strlen($fields)) $fields = '*';
    			$tables = str_replace('`','',$tables);
    			$tables = preg_replace('/([\w.]+)/i', '`'.$this->prefix.'$1`', $tables);
    			$query .= $fields." FROM ".$tables;
    			if (strlen($condition)) $query .= " WHERE ".$condition;
    			if (strlen($group)) $query .= " GROUP BY ".$group."";
    			if (strlen($order)) {
    				$order = explode(',', $order);
    				for($i = 0; $i < count($order); $i++) switch ($order[$i]{0}) {
    					case '+': $order[$i] = substr($order[$i], 1); break;
    					case '-': $order[$i] = substr($order[$i], 1).' DESC'; break;
    				}
    				$query .= " ORDER BY ".implode(', ',$order);
    			}
    			if ($lim_rows) {
    				$query .= ' LIMIT ';
    				if ($lim_offset) $query .= "$lim_offset, ";
    				$query .= $lim_rows;
    			}
    		}
    		$result = $this->query_array($query);
    
    		return $result;
    	}

    nbyt, 28 Сентября 2009

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

    +145.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if($record->getTitle()) {
      $request->setAttribute('title', $record->getTitle());
    }else{
      $request->setAttribute('title', $record->getName());
    }

    определение существования метода у объекта $record

    seroy, 18 Сентября 2009

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

    +51.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    private: System::Void button2_MouseHover(System::Object^  sender, System::EventArgs^  e) {
    				 int x = rand() % 428-75; //минусуем ширину кнопки, посчитать впадлу
    				 int y = rand() % 301-23; // - высоту
    				 this->button2->Location::set(System::Drawing::Point(x,y));
    			 }
    	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {						
    				 MessageBox::Show("Мы так и считали", "=)", MessageBoxButtons::OK, MessageBoxIcon::Asterisk);
    			 }

    лень

    ChakuZa, 17 Сентября 2009

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

    +68.6

    1. 1
    printf("%s","Для выхода из меню нажмите reset.");

    Найдено в глубине системной DOS УтиЛИТКИ, естественно не Microsoft'овской.

    Говногость, 14 Сентября 2009

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

    +150.8

    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
    // Выведем все ошибки на чистую воду :)
    error_reporting(E_ALL);
    
    /**
     * Рекурсивное изменение прав
     * @param string $path - Путь (файл или каталог)
     * @param int $filemode - Права, например 0755
     * @return - bool FALSE если не удалось, TRUE если удалось
     */
    function chmodTree($path, $filemode) {
      if (!is_dir($path)) return chmod($path, $filemode);
      $dir = opendir($path);
      while ($file = readdir($dir))
        if ($file != '.' && $file != '..') {
          $fullpath = $path.'/'.$file;
          if (is_link($fullpath)) return FALSE;
          if (is_dir($fullpath))
            if (!chmodTree($fullpath, $filemode)) return FALSE;
          if (is_file($fullpath))
            if (!chmod($fullpath, $filemode)) return FALSE;
        }
      closedir($dir);
      return chmod($path, $filemode);
    }
    
    // Функция file_put_contents появляется только в PHP 5.0 ;(
    if (!function_exists('file_put_contents')) {
      function file_put_contents($filename, $data) {
        if (!($f = @fopen($filename, 'w'))) {
          return FALSE;
        } else {
          $bytes = fwrite($f, $data);
          fclose($f);
          return $bytes;
        }
      }
    }
    
    /**
     * Получает файл с удалённого хоста, показывает и сохраняет в кеше
     * @param string $RemoteFile - файл на удалённой машине
     * @param string $LocalFile - локальный файл для сохранения
     */
    function CashedFile($RemoteFile, $LocalFile) {
      // Пытаемся получить файл с удалённого хоста
      $text = @file_get_contents($RemoteFile); // Игнорируем ошибки
      if ($text === FALSE) {
        // Если не удалось получить файл, тогда читаем копию из кеша
        $text = file_get_contents('cache/'.$LocalFile);
      } else {
        // Если каталога с кешем нет => создаём его
        if (!file_exists("cache"))mkdir("cache");
        // Ставим права на каталог
        chmodTree("cache", 0777);
        // Записываем полученный документ в файл
        file_put_contents('cache/'.$LocalFile, $text);
      }
      // Отдаём браузеру то что удалось скачать :)
      echo $text;
    }

    Кусок быстосляпанного кода для подгрузки частей сайта из Google Docs.
    Практически нечитаемый код, но работает, подгружает файлы с удаленного хоста, складывает их в каталог, потом оттуда читает.
    Непонятно, зачем нужна функция chmodTree, каталог cache же одноуровневый.

    denis, 10 Сентября 2009

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

    +152.9

    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
    <html><body>
    <?php
    	if (isset($_POST['regg'])){
    ?>
    <form method="post" action="2.php">
    name
    <input type='text' name='name' />
    <input type='submit' name='regg' value='otpr' />
    </form>
    <?php
    	} else {
    echo $_POST['name'];
    }
    ?>
    </body></html>

    Tex, 22 Августа 2009

    Комментарии (13)
  10. Си / Говнокод #1659

    +136.8

    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
    #define CHAINFREE_STATIC_DAT(a, field) {\
        ptr=(typeof(ptr))&(a);\
        if(((typeof(&(a)))(ptr))->field)\
            free(((typeof(&(a)))(ptr))->field);\
        ptr=(typeof(ptr))(((typeof(&a))(ptr))->next);\
        if(ptr) {\
            while(((typeof(&(a)))(ptr))->next) {\
                if(((typeof(&(a)))(ptr))->field)\
                    free(((typeof(&(a)))(ptr))->field);\
                ptr=(typeof(ptr))(((typeof(&a))(ptr))->next);\
                free(((typeof(&(a)))(ptr))->prev);\
            }\
            if(((typeof(&(a)))(ptr))->field)\
                free(((typeof(&(a)))(ptr))->field);\
            free(ptr);\
        }\
        memset(&(a), 0, sizeof(a));\
    }

    Кол-во скобок радует :)

    xaionaro, 22 Августа 2009

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <?php 
    $db = mysql_connect("localhost","user","passwd");
    mysql_select_db("magistr", $db);
    mysql_query("set names cp1251");
    ?>

    безопасный стиль написания кода

    nolka4, 21 Августа 2009

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