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

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

    +54.6

    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 <iostream>
    
    class TerVer {
    public:
      short d1, d2, d3, d4;
      short totalCounter, goodCounter;
      bool DoneInc;
      TerVer(): d1(1), d2(0), d3(0), d4(0), totalCounter(1), goodCounter(0), DoneInc(false) {}
      bool IsGood() {
        return (
          (d1==d2 && d1!=d3 && d1!=d4 && d3!=d4) ||
          (d1==d3 && d1!=d2 && d1!=d4 && d2!=d4) ||
          (d1==d4 && d1!=d2 && d1!=d3 && d2!=d3) ||
    
          (d2==d3 && d2!=d1 && d2!=d4 && d1!=d4) ||
          (d2==d4 && d2!=d1 && d2!=d3 && d1!=d3) ||
    
          (d3==d4 && d3!=d1 && d3!=d2 && d1!=d2)
          ) ? true : false;
      }
      void Inc() {
        d4++; 
        if(d4>9) { d4=0; d3++; if(d3>9) {d3=0; d2++; if(d2>9) { d2=0; d1++; if(d1>9) DoneInc = true; } } }
        if (!DoneInc) { totalCounter++; if (IsGood()) goodCounter++; }
      }
    };
    
    int main() {
      TerVer z;
      while(!z.DoneInc) {
        z.Inc();
      }
      cout << z.goodCounter << " / " << z.totalCounter << " = " << (double)z.goodCounter/z.totalCounter << endl;
    
      return 0;
    }

    Найти вероятность того, что в случайном четырехзначном числе ровно две цифры совпадают.
    Вот что бывает, когда лень думать.

    elmigranto, 30 Марта 2010

    Комментарии (24)
  3. Pascal / Говнокод #2781

    +144.8

    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
    FUNCTION PCHARTOSTRING(pc:pchar):string;
      VAR
       s:string;
       //P:PCHAR;
    
       I:word;
       //O:WORD;
       BEGIN
    
       FOR I:=1 TO 255 DO
       begin
       if pc[i]=#0 then
       s[i]:=pc[i-1];
       begin
       setlength(s,i);
       PCHARTOSTRING:=s;
       exit;
       end;
       end;
        setlength(s,255);
       PCHARTOSTRING:=s;
       END;

    И это в Дельфи. O_o

    Говногость, 13 Марта 2010

    Комментарии (24)
  4. VisualBasic / Говнокод #2173

    −366.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Public Overrides Function DataChanged() As Boolean
            Const CONST_PROC_NAME = "DataChanged"
            Try
                Return False
            Catch objExcp As Exception
                Me.DisplayMessageBox("Unexpected Exception in " & CONST_CLASS_NAME & "." & CONST_PROC_NAME & " : " & objExcp.Message.ToString, MessageBoxIcon.Error)
            End Try
        End Function

    По суровому закону нашего проекта каждая функция должна быть обернута ловлей эксепшиона. Каждая. Всегда.

    6istik, 24 Ноября 2009

    Комментарии (24)
  5. Си / Говнокод #2039

    +132.3

    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
    char *uart_readln_timeout(UART_HANDLE h, char *buf, uint16_t len, clock_tick_t to)
    {
        clock_tick_t finish_time;
     
        char *datap = buf;
        char *datae = buf + len - 1;
    
        if( len == 0 ) return buf;
        if( len == 1 ) {
            buf[0] = 0;
            return buf;
        }
    
        finish_time = clock_get_millis() + to;
    
        // FIXME!!!
        while( datap < datae && ( to == 0 || clock_get_millis() < finish_time ) ) {
            if( uart_read_char(h, datap) ) {
                if( *datap++ == '\n' ) break;
            }
        }
        *datap = 0;
    	return buf;
    }

    читает строку из UART. есть подозрение, что это говнокод.

    dmzlj.livejournal.com, 24 Октября 2009

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

    +155.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function gp($gp){ 
      $gp_res=$_GET[$gp]; 
      if ($gp_res == ''){
        $gp_res=$_POST[$gp];
      } 
      return $gp_res;
    }

    а поидее можно было юзать $_REQUEST[$gp]

    popstas, 21 Октября 2009

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

    +144.7

    1. 1
    2. 2
    3. 3
    4. 4
    <form ....
    <a href="#" class="lalalala" onclick="$('#frm').submit()">Подтвердить</a>
    ...
    </form>

    изначально было так
    в админке ))

    paranoid, 21 Октября 2009

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

    +144.8

    1. 1
    2. 2
    $uploaddir = '../images/';
    $uploadfile1 	= $uploaddir . basename($_FILES['img']['name']);

    все те же индусы

    getme, 16 Октября 2009

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

    +56.6

    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
    class         inTm: public ioTm
            {           public: inTm(){ startInTm(); buffer=temp; };
                           int  readTm (tmData&);
                  virtual void  message(const structMessage&){};
                          void  inputArray (int);
                          void  setNonBlock(int);
                          void  startInTm();
                          long  readTmPos(tmData&);
                     protected:
                unsigned  char  temp[lengthBuffer];
              virtual unsigned  char* readBuffer(int&)=0;
                           int  inputBuffer();
                          void  convertTm(unsigned char*, tmData&);
                  virtual long  getPos(){ return current-count-countTemp; };
                       private:
                          void  cnvTmPC  (unsigned char*, tmData&);
                          void  cnvTmNet (unsigned char*, tmData&);
                        friend  inTmBl;
                        friend  finTm;
                           int  count;
                           int  lengthIn;
                unsigned  char* tempBuf;
                           int  countTemp;
            };

    Программист Мудрецов (фамилия у человека такая) был большим затейником. Например, код на С++ в хидерах он формативровал по центру - как стихи.
    P. S. Надеюсь, на сайте форматирование сохранится.

    Dimarius, 01 Сентября 2009

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

    +176.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if($n==1 or $n==3 or $n==3 or $n==4 or $n==5) {
    if($n ==1 ) {$result = mysql_query("SELECT * FROM spec WHERE id_fac='$id_fac' and 1c='1' and id_sett='1'");}
    if($n ==2 ) {$result = mysql_query("SELECT * FROM spec WHERE id_fac='$id_fac' and 2c='1' and id_sett='1'");}
    if($n ==3 ) {$result = mysql_query("SELECT * FROM spec WHERE id_fac='$id_fac' and 3c='1' and id_sett='1'");}
    if($n ==4 ) {$result = mysql_query("SELECT * FROM spec WHERE id_fac='$id_fac' and 4c='1' and id_sett='1'");}
    if($n ==5 ) {$result = mysql_query("SELECT * FROM spec WHERE id_fac='$id_fac' and 5c='1' and id_sett='1'");}}

    кусок из примера кода, который чувак прислал к нам в контору вместе с резюме

    nolka4, 21 Августа 2009

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

    +137

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (messages[i].description != "")
                                if (messages[i].description.StartsWith("<![CDATA["))
                                {
                                    messages[i].description = messages[i].description.Substring(9);
                                    messages[i].description = messages[i].description.Substring(0, messages[i].description.Length - 3);
                                }

    для строк типа <![CDATA[******]!>
    Возникает устойчивое ощущение говнокода. Как нормально написать? :)

    ikovalyov, 16 Августа 2009

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