1. JavaScript / Говнокод #13186

    +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
    function Order(obj) {
      var frm = $(obj);
      var first_name = frm.find("input[name='first_name']").val();
      var last_name = frm.find("input[name='last_name']").val();
      var email = frm.find("input[name='email']").val();
      var phone = frm.find("input[name='phone']").val();
      var text = frm.find(".coment-form-textarea").val();
      var captcha = frm.find("input[name='captcha']").val();
    
      var valid = true;
      MsgErrorDestroy(frm, '#order-first_name', 'input[name="first_name"]');
      MsgErrorDestroy(frm, '#order-last_name', 'input[name="last_name"]');
      MsgErrorDestroy(frm, '#order-email', 'input[name="email"]');
      MsgErrorDestroy(frm, '#order-phone', 'input[name="phone"]');
      MsgErrorDestroy(frm, '#order-text', '.coment-form-textarea');
    
      if (first_name == '') {
        MsgError(frm, 'Введите ваше имя.', '#order-first_name', 'input[name="first_name"]');
        valid = false;
      }
      if (last_name == '') {
        MsgError(frm, 'Введите вашу фамилию.', '#order-last_name', 'input[name="last_name"]');
        valid = false;
      }
      if (!emailValid(email)) {
        MsgError(frm, 'Введите ваш email.', '#order-email', 'input[name="email"]');
        valid = false;
      }
      if (phone == '') {
        MsgError(frm, 'Введите ваш номер телефона.', '#order-phone', 'input[name="phone"]');
        valid = false;
      }
      if (text == '') {
        MsgError(frm, 'Введите ваше сообщение.', '#order-text', '.coment-form-textarea');
        valid = false;
      }
      if (captcha == '') {
        MsgError(frm, 'Введите капчу.', '#comment-capcha', 'input[name="captcha"]');
        valid = false;
      }
      if (valid == false) {
        return false;
      }
    }
    
    function MsgError(frm, msg, select_msg, select_input) {
      if (select_msg != 0) {frm.find(select_msg).html(msg);}
      if (select_input != 0) {frm.find(select_input).addClass('input-error');}
      if (select_msg != 0) {frm.find(select_msg).removeClass('hide');}
      //frm.find('#'+'profile-'+key).addClass('show');
    }
    function MsgErrorDestroy(frm, select_msg, select_input) {
      if (select_msg != 0) {frm.find(select_msg).html('');}
      if (select_input != 0) {frm.find(select_input).removeClass('input-error');}
      if (select_msg != 0) {frm.find(select_msg).removeClass('show');}
      //$('#'+'profile-'+key).addClass('hide');
    }

    Валидация какого-то там заказа. Автор вероятно не слышал про массивы и объекты.

    baldrs, 17 Июня 2013

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

    +134

    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
    while (true)
    {
     try
     {
      MapControlStatic.Remove(MapControlStatic.First(o => o.Value.thisControl == c).Key);
     }
     catch
     {
       break;
     }
    }
    
    while (true)
    {
     try
     {
      MapControlStatic.Remove(MapControlStatic.First(o => o.Value.Childs.Contains(c)).Key);
     }
     catch
     {
       break;
     }
    }

    taburetka, 17 Июня 2013

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

    +10

    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
    // проверка содержимого массива кликов
    for(;;)
    {
    	// Поиск нуля
    	for(; massiv[car_massiv] != 0; car_massiv += 3);
    	// Выход если достигнут конец массива
    	if(car_massiv == car_base - 1) break;
    	car_massiv++;
    	// Сравниваем записи в обоих массивах
    	for(car_cl = 0;; car_cl += 2, car_massiv += 3)
    	{
    		// Производим перебор в поисках НЕ пустой клетки (НЕ "1")
    		for(i = i0 + di, j = j0 + dj; board[i][j] == 1 || (i == ib && j == jb); i += di, j +=dj);
    		// Если не координаты срубленно шашки, то выход
    		if(i != i2) break;
    		if(j != j2) break;
    		// Производим перебор пустых клеток в поисках координат клика
    		for(i = i2 + di, j = j2 + dj; (board[i][j] == 1 || (i == ib && j == jb)) && !(i == i1 && j == j1); i += di, j += dj);
    		// Если НЕ координаты клика, то выход
    		if(i != i1) break;
    		if(j != j1) break;
    		// Координаты срубаемой (на следующем этапе) шашки
    		i3 = massiv[car_massiv + 4];
    		j3 = massiv[car_massiv + 5];
    		...
    		...
    	}
    }

    Знакомый писал шашки, для себя. Местами попроще, но это просто убило

    anu, 17 Июня 2013

    Комментарии (1)
  4. Си / Говнокод #13183

    +135

    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
    #include <stdio.h>
     
    typedef void(* file_handler_t)(FILE* fileHandle);
     
    void using_file(FILE* fileHandle, file_handler_t fileHandler/*a*/)
    {
        if(!fileHandle)
            return;
        fileHandler(fileHandle);
        fclose(fileHandle);
    }
     
    int main(void) {
        using_file(fopen("myfile.txt","w"),
            ({void body(FILE* fileHandle) {
                /*пишем в fileHandle;*/
            }; body;})//b
        );
            return 0;
    }

    Постю код в защиту курочки от нападок Тараса про автодестукторы. Уникальные виды куриц нужно оберегать, сохранять и защищать.
    Курочка об gnuцицизмы уже зашкварился так что будем стоять на своем до конца. Главное чтобы он свой не отстоял, а то потом не встанет.
    http://ideone.com/2zRuK0

    В позицию /*a*/ можно добавить параметр, деструктирующий объект должным образом. И соответственно оформить using_file как USING макросом, чтобы можно было деструктить объекты не только типа FILE* но и любых других. В макросе вполне при этом может понадобится гнутый typeof, но у нас и так зашквар, так что уже не важно. Так же для полной универсальности можно добавить параметр, определяющий неуспешность открытия объекта, чтобы вместо if(!fileHandle) был if(predicate(fileHandle)). Но конечно при этом лучше просто сделать 2 варианта макроса: обобщенный и с предикатом по умолчанию логическое отрицание.

    Вместо некрасивой позиции //b лучше завести макрос, эмитирующий нормальную красивую человеческую лямбду.

    LispGovno, 16 Июня 2013

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

    +164

    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
    <table> 
                                <tr> 
                                    <td> 
                                        <span class="date"><? echo ''.(mysql_result(mysql_query("SELECT `data` FROM `money` WHERE `id`=1"),0));?></a></span>                                         
                                    </td> 
                                    <th> 
                                        <span class="Out"><? echo ''.(mysql_result(mysql_query("SELECT `money` FROM `money` WHERE `id`=1"),0));?></span> 
                                    </th> 
                                </tr>  
                                <tr><td class="wrap" colspan="2"><a href=""><? echo ''.(mysql_result(mysql_query("SELECT `text` FROM `money` WHERE `id`=1"),0));?></a></td></tr> 
                            </table> 
                        </div> 
                    </td> 
            </tr><tr class="alt"> 
                <td>                         
                        <div class="field">                             
                            <table> 
                                <tr> 
                                    <td> 
                                        <span class="date"><? echo ''.(mysql_result(mysql_query("SELECT `data` FROM `money` WHERE `id`=2"),0));?></span>                                         
                                    </td> 
                                    <th> 
                                        <span class='Out'><? echo ''.(mysql_result(mysql_query("SELECT `money` FROM `money` WHERE `id`=2"),0));?></span> 
                                    </th> 
                                </tr>  
                                <tr><td class="wrap" colspan="2"><a href=''><? echo ''.(mysql_result(mysql_query("SELECT `text` FROM `money` WHERE `id`=2"),0));?></a></td></tr> 
                            </table> 
                        </div> 
                    </td> 
            </tr><tr> 
                <td>                         
                        <div class="field">                             
                            <table> 
                                <tr> 
                                    <td> 
                                        <span class="date"><a href='' class='hl'><? echo ''.(mysql_result(mysql_query("SELECT `data` FROM `money` WHERE `id`=3"),0));?></a></span>                                         
                                    </td> 
                                    <th> 
                                        <span class='In'><? echo ''.(mysql_result(mysql_query("SELECT `money` FROM `money` WHERE `id`=3"),0));?></span> 
                                    </th> 
                                </tr>  
                                <tr><td class="wrap" colspan="2"><a href=''><? echo ''.(mysql_result(mysql_query("SELECT `text` FROM `money` WHERE `id`=3"),0));?></a></td></tr> 
                            </table> 
                        </div> 
                    </td> 
            </tr><tr class="alt"> 
                <td>                         
                        <div class="field">                             
                            <table> 
                                <tr> 
                                    <td> 
                                        <span class="date"><a href='' class='hl'><? echo ''.(mysql_result(mysql_query("SELECT `data` FROM `money` WHERE `id`=4"),0));?></a></span>                                         
                                    </td> 
                                    <th> 
                                        <span class='Out'><? echo ''.(mysql_result(mysql_query("SELECT `money` FROM `money` WHERE `id`=4"),0));?></span> 
                                    </th> 
                                </tr>  
                                <tr><td class="wrap" colspan="2"><a href=''><? echo ''.(mysql_result(mysql_query("SELECT `text` FROM `money` WHERE `id`=4"),0));?></a></td></tr> 
                            </table> 
                        </div> 
                    </td> 
            </tr><tr> 
                <td>                         
                        <div class="field">                             
                            <table> 
                                <tr> 
                                    <td> 
                                        <span class="date"><a href='' class='hl'><? echo ''.(mysql_result(mysql_query("SELECT `data` FROM `money` WHERE `id`=5"),0));?></a></span>                                         
                                    </td> 
                                    <th> 
                                        <span class='Out'><? echo ''.(mysql_result(mysql_query("SELECT `money` FROM `money` WHERE `id`=5"),0));?></span> 
                                    </th> 
                                </tr>  
                                <tr><td class="wrap" colspan="2"><a href=''><? echo ''.(mysql_result(mysql_query("SELECT `text` FROM `money` WHERE `id`=5"),0));?></a></td></tr> 
                            </table>

    vGhost, 16 Июня 2013

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

    +31

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for(i = 0; i < strlen(line); i++)
    {
        ...
        doSomethingWith(line);
        ...
    }

    Пишет на С++, так как в нем (цитирую) больше возможностей, но std::string он не использует по причине (цитирую) его несовместимости с си компиляторами.
    Автор намекнул мне, что я не умею в многопоточность и что этот код лучше любого другого подходит для исполнения в многопоточной среде на тот случай, если переменная line bump изменится ("англици́зм" цитирую дословно, видимо вставленный для понтов и переводимое как наречие внезапно).

    Имеет ли смысл доказывать, что он не прав, если я с ним не работаю?

    LispGovno, 15 Июня 2013

    Комментарии (296)
  7. Си / Говнокод #13180

    +139

    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
    #include <stdio.h>
    #include <stdint.h>
    
    #define foreach(a, b)\
    for(typeof(*(b)) * _shit_begin = (b), * _shit_end = ((_shit_begin) + sizeof((b))/sizeof(*(b))), * (a) = _shit_begin; (a) != _shit_end; ++(a))
      
    int main(void) {
    {
      uint32_t vec[6][3] = {
          {10, 11, 12},
          {20, 21, 22},
          {30, 31, 32},
          {40, 41, 42},
          {50, 51, 52},
          {60, 61, 62},
      };
      foreach(it, vec[2])
        fprintf(stderr, "%u\n", *it);
    }
    {
      uint32_t vec[] = {0, 1, 2, 3, 4, 5};
      foreach(it, vec)
        fprintf(stderr, "%u\n", *it);
    }
    {
      uint8_t vec[] = {0, 1, 2, 3, 4, 5};
      foreach(it, vec)
        fprintf(stderr, "%u\n", *it);
    }
    {
      uint64_t vec[] = {0, 1, 2, 3, 4, 5};
      foreach(it, vec)
        fprintf(stderr, "%lu\n", *it);
    }
      return 0;
    }

    Си++. Инновации, 21-йвек, 11-й год. auto и for(a:b). Прорыв, не то, что в этой питушарской сишке допотопной. А ведь это сишка могла 30лет назад.


    P.S. Не вброс.

    superhackkiller1997, 15 Июня 2013

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function unix_timestamp_to_human ($timestamp = "", $format = 'D d M Y - H:i:s')
    {
        if (empty($timestamp) || ! is_numeric($timestamp)) $timestamp = time();
        return ($timestamp) ? date($format, $timestamp) : date($format, $timestamp);
    }
    
    $unix_time = "1251208071";
    
    echo unix_timestamp_to_human($unix_time); //Return: Tue 25 Aug 2009 - 14:47:51

    Я всё правильно понял, код воняет?

    denis90, 15 Июня 2013

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

    +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
    checkValidPage:function(){
    	    var c=false;
    	    var d=false;
    	    try{
    		var a=document.getElementsByTagName('input');
    		if(a.length!=0)
    		    for(var i in a)
    		    {
    			if(!c && a[i].type=='checkbox')
    			    c=true;
    			if(!d && a[i].name=='delsel')
    			    d=true;
    			if(c && d)
    			    return true;
    		    }
    	    }catch(e){}
    	    return false;
    	},

    GoodTalkBot, 15 Июня 2013

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

    +154

    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
    $zak=$row['content']; 
        $ret=$ret.'<td>';  
        $p_ret=array();
      $t_zak=explode('{',$zak);
      $t_c=count($t_zak)-2;
    
      //------------------------------------------  
    
    for($t_i=0;$t_i<$t_c;$t_i++){
      $zak=$t_zak;
      $zak=explode('}',$zak[$t_i+2]);
      $zak=explode(';',$zak[0]);
      $p_zak=array();
      $c=(int)floor(count($zak)/2);
      $c=(int)($c*2);
      for($i=0;$i<$c;$i=$i+2){
        $temp=explode(':',$zak[$i]);
        $ind=str_replace('"','',$temp[count($temp)-1]);
        $temp=explode(':',$zak[$i+1]);
        $val=str_replace('"','',$temp[count($temp)-1]);
        $p_zak[$ind]=$val;
      }
      $p_zak['id']=(int)$p_zak['id'];
      //[count] => 3 [id] => 21 [name] => Стул [price] => 213454
      $p_ret[]='<a href="[[~'.$p_zak['id'].']]">'.$p_zak['name'].'</a> '.$p_zak['count'].' шт.';

    После модернизации одного из Интернет магазинов сломался личный кабинет ( MODX Revolution, Shopkeeper ).

    Начал изучать и понял, что прошлый программист изобрел заново unserialize.

    Rostov114, 14 Июня 2013

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