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

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

    +34

    1. 1
    2. 2
    foreach($keys as $key) 
         $settings[$type][$fieldname][$key] =  (isset($fl[$type] [$fieldname] ['widget'] [$key] ) ) ? $fl[$type] [$fieldname] ['widget'] [$key] : '';

    вобля

    brainstorm, 08 Января 2011

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

    +145

    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
    /********************************************************************************
    ** Form generated from reading UI file 'qrselector.ui'
    **
    ** Created: Thu 6. Jan 14:25:49 2011
    **      by: Qt User Interface Compiler version 4.7.0
    **
    ** WARNING! All changes made in this file will be lost when recompiling UI file!
    ********************************************************************************/
    
    #ifndef UI_QRSELECTOR_H
    #define UI_QRSELECTOR_H
    
    #include <QtCore/QVariant>
    #include <QtGui/QAction>
    #include <QtGui/QApplication>
    #include <QtGui/QButtonGroup>
    #include <QtGui/QHeaderView>
    #include <QtGui/QLabel>
    #include <QtGui/QWidget>
    
    QT_BEGIN_NAMESPACE
    
    class Ui_QRSelector
    {
    public:
        QLabel *label;
    
        void setupUi(QWidget *QRSelector)
        {
            if (QRSelector->objectName().isEmpty())
                QRSelector->setObjectName(QString::fromUtf8("QRSelector"));
            QRSelector->resize(400, 300);
            label = new QLabel(QRSelector);
            label->setObjectName(QString::fromUtf8("label"));
            label->setGeometry(QRect(10, 10, 371, 16));
    
            retranslateUi(QRSelector);
    
            QMetaObject::connectSlotsByName(QRSelector);
        } // setupUi
    
        void retranslateUi(QWidget *QRSelector)
        {
            QRSelector->setWindowTitle(QApplication::translate("QRSelector", "QRSelector", 0, QApplication::UnicodeUTF8));
            label->setText(QString());
        } // retranslateUi
    
    };
    
    namespace Ui {
        class QRSelector: public Ui_QRSelector {};
    } // namespace Ui
    
    QT_END_NAMESPACE
    
    #endif // UI_QRSELECTOR_H

    ui_qrselector.h

    Resager, 06 Января 2011

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

    +112

    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
    public static class EntryPoint
        {
            private class NotFoundException : ApplicationException
            {
                public FoundException(int id, SourceType type)
    
                private SourceType Type { get; set; }
                private int Id { get; set; }
            }
    
          private class InProgressException : ApplicationException
            {
                public InProgressException(int id, SourceType type)
                {
                    Type = type;
                    Id = id;
                }
    
                private UserViewSourceType Type { get; set; }
                private int Id { get; set; }
            }
    
         public static void Analyze(SourceType type, IEnumerable<int> dataId)
            {
                try
                {
                    initialize(type, dataId);
                }
                catch (InProgressException)
                {  
    // немного говнокода
                }
                catch (NotFoundException)
                {
    // немного говнокода
                }
    }

    Для того что бы внутри статического класса между двумя процедурами наладить связь (Analyze - initilize) человек определил два новых типа exceptions (private) и дал им дополнительные свойства которые нигде не используются. Exceptions эти больше нигде кроме initialize не кидаются и нигде кроме Analyze не ловятся. Ну и initialize больше ниоткуда кроме Analyze не вызывается.
    В итоге имеем два лишних класса и тучу кода который можно без помех удалить, чем я собственно и занимаюсь :)

    eval_2009, 05 Января 2011

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

    +125

    1. 1
    m_PRICEURL = m_PRICEURL.Replace("{0}", "2010");

    Новый Год принёс не только подарки, но и коллекцию говнокода вроде такого

    Shokker, 03 Января 2011

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

    +166

    1. 1
    2. 2
    for(Reset($result),$message=0;$message<count($result);Next($result),$message++)
    				echo "<PRE>Message ",Key($result),", Unique ID - \"",$result[Key($result)],"\"</PRE>\n";

    Замена foreach в индусском коде.

    prostosergik, 29 Декабря 2010

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

    +157

    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
    function get_file_info($glob, $freq = 0)
    {
      static $cache = array();
    
      if (isset($cache[$glob])) {
    
        return $cache[$glob];
    
      } else {
    
        $ret = new stdClass;
    
        $g = glob($glob);
    
        $test = trim(`ls $glob`);
        $g = split( "\n", $test );
        if (!is_array($g)) {
          return $ret;
        }
    
        $g = array_reverse($g);
    
        $ret->files = array();
        $now = time();
        $first = true;
    
        foreach($g as $filename) {
    
          $f = new stdClass;
    
          $f->name = $filename;
          $f->size = @filesize($f->name);
          $f->size_str = sprintf("%.1f",$f->size/1024/1024);
    
          if (preg_match("((\\d{12}))", $f->name, $m)) {
        $t = strtotime($m[1]);
        $f->time = $t;
        $f->time_str = str_replace(" ", " ", date("M d, Y H:i T", $f->time));
    
        if ($freq) {
          
          $to = $t + $freq - $now;
    
          if ($to < 0) {
            if ($to > -600) {
              $res = '<em>any moment now.</em>';
            } else {
              $res = '<em>please consult /dev/urandom</em>';
            }
          } else {
            $h = floor($to/3600);
            $m = floor(($to - $h * 3600) / 60);
            
            if ($h) {
              $res = $h . ' hour'.($h==1?'':'s').' and ' . $m . ' minute'.($m==1?'':'s');
            } else {
              $res = $m . ' minute'.($m==1?'':'s');        
            }
          }
    
          $f->next = $res;
        }
    
          }
    
          $ret->files[] = $f;
        }
    
        return $ret;
      }
    }

    Говнокод на сайте php.net :)
    Исходник: http://snaps.php.net/?source

    P.S. это еще цветочки, после обеда будет зачетный с http://www.php.net/source.php?url=/index.php

    wmmorgun, 28 Декабря 2010

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

    +121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    int finda(string[] strl, string a)
    {
    	int ii=0;
    	foreach(var i in strl)
    	{
    		if(a==i)
    			return ii;
    		ii++;//Тут нужно оптимизировать!!!
    	};
    }

    Говногость, 25 Декабря 2010

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

    +145

    1. 1
    ДЕТСКОЕ ПОРНО МАЛЬЧИКИ ДЕВОЧКИ ЦЕЛКИ КЛУБНИЧКИ МАЛЕНЬКИЕ СИСЬКИ УПРУГИЕ ПОПКИ

    lstem, 24 Декабря 2010

    Комментарии (10)
  10. Pascal / Говнокод #5027

    +99

    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
    Procedure MakeChain(x: real; var a: array of word); (* Процедура раскладывает вещественное число в цепную дробь *)
      var 
        i: byte;
      begin
        i:=0;
        Repeat
          a[i]:=Int(x); x:=1/(x-a[i]); i:=i+1
        Until (abs(1/x) < epsilon) or (Int(x) = 0) (* NB! *)
      end;
    Procedure MakeFrac(a: array of word; var AN, BN: word); (* Процедура собирает обыкновенную дробь из цепной дроби *)
      var
        i: byte; AP, BP: word; temp: word;
      begin
        AN:=1; AP:=0; BN:=a[1]; BP:=1; i:=2;
        Repeat
          temp:=AN; AN:=AN*a[i]+AP; AP:=temp;
          temp:=BN; BN:=BN*a[i]+BP; BP:=temp;
          i:=i+1
        Until a[i] = 0 (* NB! *)
      end;
    Function PowerInt(x: real; p: longint): real; (* возведение числа в целую степень *)
      var
        R: real;
      begin
        R:=1; if p<0 then x:=1/x; p:=abs(p);
        Repeat
          if p and 1 = 1 then R:=R*x;
          p:=p shr 1;
          if p<>0 then x:=sqr(x)
        Until p=0;
        PowerInt:=R
      end;
    Function Power(x: real; p: real): real;
      var
        y: real;
        z: array[0..16000 div sizeof(word)] of word;
        a, b: word;
      begin
        y:=PowerInt(x, Trunc(p)) * exp(Frac(p) * ln(abs(x)));
        if x<0 then
          begin
            MakeChain(Frac(p), z);
            MakeFrac(z, a, b);
            if Odd(b) then
              begin
                if Odd(a) then y:=-y (* если числитель и знаменатель показателя степени нечётные, меняем знак результата *)
              end
            else
              begin
                (* NB! В случае чётного знаменателя показателя степени результат комплексный. Забьём на это *)
              end	
          end;
        Power:=y
      end;

    Инновационный алгоритм, написанный мной лет 12 тому назад, позволяющий возводить отрицательные числа в дробную степень.
    Жанру сайта вполне соответствует, то есть не без говнокода.

    inkanus-gray, 23 Декабря 2010

    Комментарии (10)
  11. Java / Говнокод #4944

    +80

    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
    /**
     * произвольные группы районов
     */
    public enum DistrictGroup {
    /*...*/
        public int getOrdinal() {
        	for (int i = 0; i < values().length; i++) {
        		if (this == values()[i]) {
        			return i;
        		}
        	}
        	throw new Error("no ordinal found"); // never can be
        }
    }

    Вот так пишут выпускники ВМК МГУ.

    yvu, 16 Декабря 2010

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