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

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static IEnumerable<T> Remove<T>(this IEnumerable<T> source, T key)
    {
        return source.Where(element => !element.Equals(key));
    }
    
    public static IEnumerable<string> Remove(this IEnumerable<string> source, string key)
    {
        return source.Where(element => element != key);
    }

    Немного велосипедостроения.

    pushistayapodmyshka, 30 Января 2015

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

    +161

    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
    /**
     * Округляет число до заданного количества знаков после запятой.
     * @param float $v	- округляемое число.
     * @param int $prec - количество знаков после запятой (по-умолчанию: 0).
     * @param str $mode - режим округления: ceil | floor | round (по-умолчанию: round).
     * @return float округлённое число.
     */
    function round2($v, $prec = 0, $mode = "round") {
    	for ($k = 1, $i = 0; $i < $prec; $i++, $k *= 10)
    		;
    	switch ($mode) {
    		case "ceil" : $v = ceil($k * $v) / $k;
    			break;
    		case "floor" : $v = floor($k * $v) / $k;
    			break;
    		default : $v = round($k * $v) / $k;
    	}
    
    	return $v;
    }

    kissarat, 24 Января 2015

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

    +152

    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
    <?
    require_once('ittable.class.php');
    
    class ITForm extends ITTable
    {
    public function __construct($tbl)
    {
    parent::__construct($tbl);
    
    //путь с скрипту который удаляет файлы по tblname record_id filename
    $this->path2deletephp='/itcms4/ckeditor/delete.php';
    }
    
    
    public function printForm($i, $action, $head, $submitvalue='', $captcha=0)
    {
    $form = $this->generateFormData($i, $action, $head, $submitvalue, $captcha);
    
    print "<h1>$form->head</h1>
    $form->begin
    $form->inputhidden
    
    <table>";
    
    foreach($form->inputs as $k=>$v)
     print "<tr id='itforms_$k'" . ($this->columns[$k]->blockclass?' class="' . $this->columns[$k]->blockclass . '"':'') ."><td>$v->name</td><td>$v->input</td></tr>\n";
     
    print "</table>
    
    $form->files
    
    
    <hr><input type='submit' value='$form->submitvalue'></form>
    
    <script type='text/javascript'>
    var itform;
    $(document).ready(function()
      {
       itform = new ITForm($('#$this->tbl$i->id'));
       $form->js
       });
    </script>
    ";
    }
    
    public function insertForm($head, $submitvalue='', $i=0)
    {
     if(!$i)
      $i = new stdClass();
      
     $copy_id = intval($_GET['copy_id']);
     if($copy_id)
     {
      $r=exec_mysql_query("SELECT * FROM $this->tbl WHERE id='$copy_id'");
      $row=mysql_fetch_array($r);
      foreach($row as $k=>$v)
       if(!isset($i->$k))
        $i->$k = $v;
     }
     //чтобы можно было загрузить файлы делаем временный id в диапазоне от 10^7 до 2*10^9
     $i->id = 'r' . rand(10000000, 2000000000);
     $this->printForm($i, 'insert.php', $head, $submitvalue);
    } 
    
    public function updateForm($id, $head, $submitvalue='')
    {
     $this->printForm($this->getObject($id), 'update.php',  $head, $submitvalue);
    
    if(mysql_numrows(exec_mysql_query("SELECT id FROM it_updatelog WHERE tbl='$this->tbl' AND record_id='$id'")))
     print "<a href=/crm2/log/?w_tbl_2=$this->tbl&w_record_id_1=$id>История изменений</a><br>"; 
    }
    
    public function deleteForm($id, $head, $submitvalue='')
    {
     $this->printForm($this->getObject($id), 'delete.php',  $head, $submitvalue);
    }
    
    public function updateForm4Object($o, $head, $submitvalue='')
    {
     $this->printForm($o, 'update.php',  $head, $submitvalue);
    
    if(mysql_numrows(exec_mysql_query("SELECT id FROM it_updatelog WHERE tbl='$this->tbl' AND record_id='$o->id'")))
     print "<a href=/crm2/log/?w_tbl_2=$this->tbl&w_record_id_1=$o->id>История изменений</a><br>"; 
    }

    Продолжение: http://govnokod.ru/17479

    itgovnokod, 19 Января 2015

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

    +50

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    else if ( pTemp->flags & FTENT_SPIRAL )
    			{
    				float s, c;
    				s = sin( pTemp->entity.baseline.origin[2] + fastFreq );
    				c = cos( pTemp->entity.baseline.origin[2] + fastFreq );
    
    				pTemp->entity.origin[0] += pTemp->entity.baseline.origin[0] * frametime + 8 * sin( client_time * 20 + (int)pTemp );
    				pTemp->entity.origin[1] += pTemp->entity.baseline.origin[1] * frametime + 4 * sin( client_time * 30 + (int)pTemp );
    				pTemp->entity.origin[2] += pTemp->entity.baseline.origin[2] * frametime;
    			}

    entity.cpp из cl_dlls от xash. Предположительно унаследовано от half-life sdk. На 64 битах сборка разумеется падает.
    Что они пытались сделать?
    За запихивание указателя под синус имхо надо запихивать указатель в анус.

    mittorn, 15 Января 2015

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function maybe_unserialize( $original ) {
            if ( is_serialized( $original ) ) // don't attempt to unserialize data that wasn't serialized going in
                    return @unserialize( $original );
            return $original;
    }

    Wordpress <3
    is_serialized тоже блещет
    https://core.trac.wordpress.org/browser/tags/4.1/src/wp-includes/functions.php#L265

    Fike, 15 Января 2015

    Комментарии (7)
  7. JavaScript / Говнокод #17372

    +162

    1. 1
    € = $.noConflict();

    SyntaxError: illegal character. Обидно ;(

    bormand, 26 Декабря 2014

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function json2array($json){
    	if(get_magic_quotes_gpc()){
    		$json = stripslashes($json);
    	}
    	$json = substr($json, 1, -1);
    	$json = str_replace(array(":", "{", "[", "}", "]"), array("=>", "array(", "array(", ")", ")"), $json);
    	@eval("\$json_array = array({$json});");
    	return $json_array;
    }

    Нашел в спамере ВК. Переводит JSON в массив

    Rakovskiy, 18 Декабря 2014

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

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (String.Compare(GlobalSettings.EnvironmentType, "Production", StringComparison.OrdinalIgnoreCase) != 0
                        && !value.EndsWith(StgPostfix, StringComparison.OrdinalIgnoreCase))
                    {
                        namePostfix = value;
                    }
                    else
                    {
                        namePostfix = value;
                    }

    condition

    mzahor, 18 Декабря 2014

    Комментарии (7)
  10. JavaScript / Говнокод #17330

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function(loaded) {
        
        var sale=$("#markupz").val();
        var markup=$("#salez").val();
    		
         ...
    								
    });

    утонул в таком коде

    govnokoder2, 18 Декабря 2014

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

    +158

    1. 1
    2. 2
    3. 3
    foreach chat->getParticipants() as user 
    { if user->getName() == 'Nikita' then marina->need(user) endif 
    endforeach

    valery_selitsky, 15 Декабря 2014

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