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

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

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    template <typename T> struct Rect : public ICollidable<T>  {
                T top, left, width, height;
    ...
                Rect(T _top, T _left, T w, T h)
                : top(_top)
                , left(_left)
                , width(w)
                , height(h)
                {};
    ...
    };

    Не расслабляемся: естественный порядок аргументов - это для ламеров!

    Kirinyale, 25 Января 2011

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    CTvoid cSG5Exception::Get (CTstatus& Status,
                               CTsymbol& Error,
                               CTsymbol& SubError,
                               string& Description)
    {
       if (Description.c_str() != NULL) {
           Description = m_description;
       }
       Status = m_status;
       Error = m_error;
       SubError = m_subError;
    }

    итолианский с++ панимаш, рагацци.
    что они хотели в строках 6-8 сказать кануло в лету.
    и вместо 4 человеческих геттеров один бесполезный заху*чили. (бесполезный тем что четыре переменные всегда надо под рукой иметь.)

    Dummy00001, 24 Января 2011

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

    +75

    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
    class AboutProgram extends Frame{
    	
    	AboutProgram(String s){
    		super(s);
    		setBounds(50,50,420,420);
    		setVisible(true);
    		setLayout(null);
    		addWindowListener(new WindowAdapter(){
    			public void windowClosing(WindowEvent ev){
    				dispose();
    			}
    		});
    	}
    	@Override
    	public void paint(Graphics g){
    		g.setFont(new Font("Times New Roman",Font.BOLD,30));
    		g.setColor(new Color(200,10,100));
    		g.drawString("Java-сапёр\n",150,50);
    		g.setColor(Color.blue);
    		g.setFont(new Font("Serif", Font.ITALIC | Font.BOLD, 15)); 
    		g.drawString("Автор \t  div#[email protected]\n",20,100);
    		g.drawString("Период написания demo version \t 29.10.2005 - 04.11.2005",20,120);
    		g.drawString("Правила игры \n ",20,140);
    		g.drawString("Вы должны пометить все мины флажками \n ",40,160);
    		g.drawString("Флажок ставится правой кнопкой мыши\n ",40,180);
    		g.drawString("Открыть отдельное поле можно левой кнопкой мыши\n ",40,200);
    		g.drawString("Если поле пустое, то открываются все\n ",40,220);
    		g.drawString("соседние поля, в которых нет мин\n ",40,240);
    		g.drawString("Цифра в отдельном поле означает, что\n ",40,260);
    		g.drawString("в соседних клетках соответствующее число мин\n ",40,280);
    		g.drawString("Игра заканчивается, если\n ",20,300);
    		g.drawString("1) Все мины помечены флажками\n ",40,320);
    		g.drawString("2) Вы наткнулись на мину!\n ",40,340);
    		g.setColor(Color.red);
    		g.drawString("Помните!\n ",20,360);
    		g.setColor(Color.blue);
    		g.drawString("Сапёр ошибается только один раз!\n ",40,380);
    	}  
    }

    Ну и о программе "избитого" сапера.

    dwinner, 18 Января 2011

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

    +120

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public static string GetRedirectUrl(string userName, bool createPersistentCookie)
    {
        if (userName == null)
        {
            return null;
        }
        return GetReturnUrl(true);
    }

    из рефлектора, класс FormsAuthentication
    ахеренная роль у параметров userName и createPersistentCookie

    Semargl, 13 Января 2011

    Комментарии (10)
  6. 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)
  7. 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)
  8. 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)
  9. C# / Говнокод #5138

    +125

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

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

    Shokker, 03 Января 2011

    Комментарии (10)
  10. 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)
  11. 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)