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

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

    +46

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    In file included from ./boost/bind/bind.hpp:29:0,
                     from ./boost/bind.hpp:22,
                     from ./boost/multi_index/sequenced_index.hpp:50,
                     from ./boost/property_tree/ptree.hpp:23,
                     from ./boost/log/utility/setup/settings.hpp:26,
                     from ./boost/log/utility/setup/from_settings.hpp:25,
                     from libs/log/src/init_from_stream.cpp:19:
    ./boost/bind/arg.hpp: In constructor ‘boost::arg<I>::arg(const T&)’:
    ./boost/bind/arg.hpp:37:22: warning: typedef ‘T_must_be_placeholder’ locally defined but not used [-Wunused-local-typedefs]
             typedef char T_must_be_placeholder[ I == is_placeholder<T>::value? 1: -1 ];

    Выхлоп при компиляции зломерзкого (из-за громоздкости разумеется) boost. Шаблоны такие шаблоны. А всё из-за того, что надо поставить на ix2 deluge т.к встроенная качалка торрентов не умеет качать торренты (там можно только указать ограничение скорости и порты, но добавить torrent или magnet некуда).

    mittorn, 07 Января 2015

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

    +46

    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
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    //В хедере
        QVector<double> stateStack;
    //Сохраняем
        stateStack.push_back((double)renderInclusionsAs3DMeshSpheres);
        stateStack.push_back((double)transparencyForClosestSidePolies);
        stateStack.push_back((double)renderFEMGrid);
        stateStack.push_back((double)NEST_results_detail_per_unit);
        stateStack.push_back((double)sourceLineActive);
        stateStack.push_back((double)renderScale);
        stateStack.push_back((double)c2DZoom1To1);
        stateStack.push_back((double)render2DInclusions);
        stateStack.push_back((double)render3DInclusions);
        stateStack.push_back((double)renderNESTResults);
        stateStack.push_back((double)renderFEAResults);
        stateStack.push_back((double)NEST_anumTime);
        stateStack.push_back((double)isAnimRun);
        stateStack.push_back((double)NEST_timeIterToRender);
        stateStack.push_back((double)NEST_RenderResultsIn3D);
        stateStack.push_back((double)NEST_renderTestPoints);
        stateStack.push_back((double)nestNewResults);
        stateStack.push_back((double)fibers_renderFormedRegions);
        stateStack.push_back((double)sourceLineStarted);
        stateStack.push_back((double)renderSourceLine);
        stateStack.push_back((double)heatQuadsModifyMode);
        stateStack.push_back((double)renderTopHeats);
        stateStack.push_back((double)sliceModifyMode);
        stateStack.push_back((double)useSlicePlane);
        stateStack.push_back((double)showSlicedPart);
        stateStack.push_back((double)cRenderMenuOpended);
        stateStack.push_back((double)cForbidRenderResultsOverLayers);
        stateStack.push_back((double)renderCoordLines);
        stateStack.push_back((double)renderDimensions);
        stateStack.push_back((double)renderLimits);
        stateStack.push_back((double)cResTransparency);
        stateStack.push_back((double)cRenderResultsOverLayers);
        stateStack.push_back((double)cActiveLayer);
        stateStack.push_back((double)renderMiniMapAtTop);
        stateStack.push_back((double)subCompositeMode);
        stateStack.push_back((double)subCompositeMapRendering);
        stateStack.push_back((double)fibersRenderable);
        stateStack.push_back((double)renderFibersAsMesh);
        stateStack.push_back((double)droplets_detailedSpheres);
        stateStack.push_back((double)cViewType);
    //Загружаем
     renderInclusionsAs3DMeshSpheres   =(bool)stateStack[0];
        transparencyForClosestSidePolies=        stateStack[1];
        renderFEMGrid=(bool)                     stateStack[2];
        NEST_results_detail_per_unit=            stateStack[3];
        sourceLineActive=(bool)                  stateStack[4];
        renderScale=(bool)                       stateStack[5];
        c2DZoom1To1=(bool)                       stateStack[6];
        render2DInclusions=(bool)                stateStack[7];
        render3DInclusions=(bool)                stateStack[8];
        renderNESTResults=(bool)                 stateStack[9];
        renderFEAResults=(bool)                  stateStack[10];
        NEST_anumTime=                           stateStack[11];
        isAnimRun=(bool)                         stateStack[12];
        NEST_timeIterToRender=                   stateStack[13];
        NEST_RenderResultsIn3D=(bool)            stateStack[14];
        NEST_renderTestPoints=(bool)             stateStack[15];
        nestNewResults=(bool)                    stateStack[16];
        fibers_renderFormedRegions=(bool)        stateStack[17];
        sourceLineStarted=(bool)                 stateStack[18];
        renderSourceLine=(bool)                  stateStack[19];
        heatQuadsModifyMode=(bool)               stateStack[20];
        renderTopHeats=(bool)                    stateStack[21];
        sliceModifyMode=(bool)                   stateStack[22];
        useSlicePlane=(bool)                     stateStack[23];
        showSlicedPart=(bool)                    stateStack[24];
        cRenderMenuOpended=(bool)                stateStack[25];
        cForbidRenderResultsOverLayers=(bool)    stateStack[26];
        renderCoordLines=                        stateStack[27];
        renderDimensions=(bool)                  stateStack[28];
        renderLimits=                            stateStack[29];
        cResTransparency=                        stateStack[30];
        cRenderResultsOverLayers=(bool)          stateStack[31];
        cActiveLayer=                            stateStack[32];
        renderMiniMapAtTop       =(bool)         stateStack[33];
        subCompositeMode         =(bool)         stateStack[34];
        subCompositeMapRendering =(bool)         stateStack[35];
        fibersRenderable=(bool)                  stateStack[36];
        renderFibersAsMesh=(bool)                stateStack[37];
        droplets_detailedSpheres=                stateStack[38];
        cViewType=                               stateStack[39];

    Структуры для педиков.

    Abbath, 25 Февраля 2014

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

    +46

    1. 1
    2. 2
    3. 3
    4. 4
    vector<int> v = {1, 4, 6};
    cout << "(";
    copy(v.begin(), v.end(), ostream_iterator<int>(cout, ", "));
    cout << ")";

    http://ideone.com/2j2jQG

    LispGovno, 21 Февраля 2014

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

    +46

    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
    //Сом ненужный щит
    
    #include <iostream>
    using namespace std;
    
    #include <string>
    #include <iostream>
    
    struct Tracer {
       Tracer(void)
          :m_name("(none)")
       {
          std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
       }
       Tracer(const std::string & name)
          :m_name(name)
       {
          std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
       }
       Tracer(const Tracer & other)
          :m_name(other.m_name)
       {
          std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
       }
       Tracer(const Tracer && other)
          :m_name(other.m_name)
       {
          std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
       }
       Tracer & operator=(const Tracer & other) {
          m_name = other.m_name;
          std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
          return *this;
       }
       Tracer & operator=(const Tracer && other) {
          m_name = other.m_name;
          std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
          return *this;
       }
       ~Tracer() {
          std::cout << "[" << m_name << "]    " << __PRETTY_FUNCTION__ << std::endl;
          m_name="You looser!";
       }
    
       std::string m_name;
    };
    
    //Тот щит, ради чего всё затевалось
    
    template<class T> const T&  Min(const T &x, const T &y) { return (x.m_name < y.m_name) ? x : y; }
    
    int main() {
      const Tracer& mr = Min(Tracer("a"), Tracer("b"));
      cout<<"Some work with mr: "<<mr.m_name<<endl;
      return 0;
    }

    [b] Tracer::Tracer(const string&)
    [a] Tracer::Tracer(const string&)
    [a] Tracer::~Tracer()
    [b] Tracer::~Tracer()
    Some work with mr:

    Этож сколько я коммитов сделал с возвратом константной ссылки на константный параметр.

    LispGovno, 04 Февраля 2014

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

    +46

    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
    if (substr($sql,0,6)=='INSERT')
      {
       $type = 'INSERT';
       if ($is_mysql)
        $O=mysql_insert_id($connection);
       if ($is_ibase)
        $O=false;
      }
      if (substr($sql,0,6)=='UPDATE')
      {
       $type = 'UPDATE';
       if ($is_mysql)
        $O = mysql_affected_rows($connection);
       if ($is_ibase)
        $O = ibase_affected_rows($connection);
      }
      if (substr($sql,0,7)=='REPLACE')
      {
       $type = 'REPLACE';
       if ($is_mysql)
        $O = mysql_affected_rows($connection);
       if ($is_ibase)
        $O = ibase_affected_rows($connection);
      }
      if (substr($sql,0,11)=='DELETE FROM')
      {
       $type = 'DELETE';
       if ($is_mysql)
        $O = mysql_affected_rows($connection);
       if ($is_ibase)
        $O = ibase_affected_rows($connection);
      }

    Как определить возвращаемый результат? Пропарсить строку запроса ($sql)!

    codename, 30 Января 2013

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

    +46

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $week['monday'] = date("d.m.Y", $week_start);
    $week['tuesday'] = date("d.m.Y", $week_start + 1 * 86400);
    $week['wednesday'] = date("d.m.Y", $week_start + 2 * 86400);
    $week['thursday'] = date("d.m.Y", $week_start + 3 * 86400);
    $week['friday'] = date("d.m.Y", $week_start + 4 * 86400);
    $week['saturday'] = date("d.m.Y", $week_start + 5 * 86400);
    $week['sunday'] = date("d.m.Y", $week_start + 6 * 86400);

    1allen, 20 Декабря 2012

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

    +46

    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
    ...
    
    //----------------------------------@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    	    //обработка картинки для анонса 
    	    $model->preview_picture = CUploadedFile::getInstance($model, 'preview_picture');
    
    	    //убедимся что каталоги созданы
    	    if (@mkdir($curr_month_folder, 0777))
    		chmod($curr_month_folder, 0777);
    	    if (@mkdir($img_dir, 0777))
    		chmod($img_dir, 0777);
    	    if (@mkdir($img_dir_thumbs, 0777))
    		chmod($img_dir_thumbs, 0777);
    	    if (@mkdir($temp_img_dir_base, 0777))
    		chmod($temp_img_dir_base, 0777);
    	    if (@mkdir($temp_img_dir, 0777))
    		chmod($temp_img_dir, 0777);
    	    if (@mkdir($temp_img_dir_snap, 0777))
    		chmod($temp_img_dir_snap, 0777);
    
    	    //если  картинка для анонса не передана
    	    if (!$model->preview_picture) {
    		//проверяем не была ли она загружена ранее во временую папку
    		if ($form->model->image) {
    		    $model->preview_picture = $form->model->image;
    		}
    		//а нет так нет
    	    } else
    
    ...

    форматирование сохранено.

    Вообще весь кусок около 500 строк, а и эти 500 откопипизжены еще
    в 7 методов этого класса.
    ...за что мне все это

    Razban_Guestov, 26 Ноября 2012

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

    +46

    1. 1
    for($i=0;$i<=100;$i++)echo(!$i?$i:($i%3==0&&$i%5==0?'FizzBuzz':($i%3==0?'Fizz':($i%5==0?'Buzz':$i)))).'<br>';

    FizzBuzz - мое решение.

    pkot, 20 Ноября 2012

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

    +46

    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
    public function custom_result_object($class_name)
    	{
    		if (array_key_exists($class_name, $this->custom_result_object))
    		{
    			return $this->custom_result_object[$class_name];
    		}
    
    		if ($this->result_id === FALSE OR $this->num_rows() == 0)
    		{
    			return array();
    		}
    
    		// add the data to the object
    		$this->_data_seek(0);
    		$result_object = array();
    
    		while ($row = $this->_fetch_object())
    		{
    			$object = new $class_name();
    
    			foreach ($row as $key => $value)
    			{
    				$object->$key = $value;
    			}
    
    			$result_object[] = $object;
    		}
    
    		// return the array
    		return $this->custom_result_object[$class_name] = $result_object;
    	}
    
    	// --------------------------------------------------------------------
    
    	/**
    	 * Query result.  "object" version.
    	 *
    	 * @access	public
    	 * @return	object
    	 */
    	public function result_object()
    	{
    		if (count($this->result_object) > 0)
    		{
    			return $this->result_object;
    		}
    
    		// In the event that query caching is on the result_id variable
    		// will return FALSE since there isn't a valid SQL resource so
    		// we'll simply return an empty array.
    		if ($this->result_id === FALSE OR $this->num_rows() == 0)
    		{
    			return array();
    		}
    
    		$this->_data_seek(0);
    		while ($row = $this->_fetch_object())
    		{
    			$this->result_object[] = $row;
    		}
    
    		return $this->result_object;
    	}

    Govnisti_Diavol, 17 Ноября 2012

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

    +46

    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
    function send_attach(
     $to, //!< Email получателя
     $from, //!< Email отправителя
     $task, //!< Тема письма
     $text //!< Текст письма
     ) {
     
     $boundary = "--".md5(uniqid(time())); // генерируем разделитель
     $subject= $task." [".stripslashes($_SERVER['HTTP_HOST'])."]";
     $subject ='=?windows-1251?B?'.base64_encode($subject).'?=';
     $headers = "To: ".$to."\r\n";
     $headers="From: =?windows-1251?B?".base64_encode(stripslashes($_SERVER['HTTP_HOST']))."?= <".$from.">\r\n";
     $headers .= "MIME-Version: 1.0\n";
     $headers .= "Content-Type: multipart/mixed; boundary=\""
     .$boundary."\"\r\n";
     $headers .= "--".$boundary."\r\n";
     $headers .= "Content-type: text/html; charset=windows-1251 \r\n";
     $headers.="Subject: ".$subject."\r\n";
     $headers.="X-Mailer: PHP/".phpversion()."\r\n";
     $headers .= "Content-Transfer-Encoding: Quot-Printed\r\n\r\n";
     $headers .= '<html><head><title>Заявка с сайта</title></head>';
     $headers .= '<body>'.$text.'</body></html>';
     //.'<img src=\'24.jpg\' alt="img">
     $message_part = "";
     
     if(
     isset($_FILES['f_file']['tmp_name']) and
     is_array($_FILES['f_file']['tmp_name'])
     ) {
     foreach($_FILES['f_file']['name'] as $k => $v) {
     if (trim($v) != '') {
     
     $fname = $_FILES['f_file']['tmp_name'][$k];
     $fp = fopen($fname,"r");
     $file = fread($fp, $_FILES['f_file']['size'][$k]);
     fclose($fp);
     
     $message_part .= "--$boundary\r\n";
     $message_part .= "Content-Type: application/octet-stream\r\n";
     $message_part .= "Content-Transfer-Encoding: base64\r\n";
     $message_part .= "Content-Disposition: attachment; filename = \""
     .$_FILES['f_file']['name'][$k]."\"\r\n\r\n";
     $message_part .= chunk_split(base64_encode($file))."\r\n";
     
     }
     }
     }
     $message_part .= "--".$boundary."--\n";
     
     
     return mail($to, $subject, $message_part, $headers);
    
     }

    Функция отправки письма с сайта. Технически - вроде работает. А так, вполне себе "обфускация" получилась.

    Lblss, 16 Октября 2012

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