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

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

    +158

    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
    // create singelton object, see below 
    function singelton(classDesc) {
        return classDesc;
    }
    
    
    var LetterTypeAction = singelton(
        {
            selectLetterType : function(controlId, index) {
               letterTypeManager.selectLetterType(controlId, index);
            },
    
            addLetterType : function() {
                letterTypeManager.addLetterType();
            },
    
            saveLetterType : function() {
                var tempLetterType = new LetterTypeDef();
                tempLetterType.setId(currentLetterType.getId());
                tempLetterType.setAbbreviation(TextUtils.trim(ControlUtils.getValueById(letterTypeAbbrId)));
                tempLetterType.setDescription(TextUtils.trim(ControlUtils.getValueById(letterTypeDescrId)));            
    
                letterTypeManager.saveLetterType(tempLetterType);
            },
    
            changeLetterType : function() {
                letterTypeManager.changeLetterType();            
            },
    
            deleteLetterType : function() {
                letterTypeManager.deleteLetterType(currentLetterType);
            },
    
            cancelLetterType : function() {
                letterTypeManager.cancelLetterType();
            },
    
            sortLetterType : function(columnId) {
                letterTypeManager.sortLetterType(columnId);            
            }
        }
    );

    новый паттерн проектирования, добавляющий в код мусор

    tr00_gr1m_doomster, 10 Января 2011

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

    +158

    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
    <?php
    class pvalidator extends validator {	
    	public function fname($value) {
    		return (bool) preg_match("/^[А-Яа-яЁё]{3,16}$/iu", $value);
    	}
    	
    	public function lname($value) {
    		return (bool) preg_match("/^[А-Яа-яЁё]{3,16}$/iu", $value);
    	}
    	
    	public function tname($value) {
    		return (bool) preg_match("/^[А-Яа-яЁё]{3,16}$/iu", $value);
    	}
    	
    	public function nickname($value) {
    		return (bool) preg_match("/^[А-Яа-яЁё \-]{3,32}$/iu", $value);
    	}
    	
    	public function country($value) {
    		return (bool) preg_match("/^[А-Яа-яЁё \-]{2,32}$/iu", $value);
    	}
    	
    	public function sity($value) {
    		return (bool) preg_match("/^[А-Яа-яЁё \-]{2,16}$/iu", $value);
    	}
    	
    	public function school($value) {
    		return (bool) preg_match("/^[№А-Яа-яЁё 0-9\-]{2,16}$/iu", $value);
    	}
    	
    	public function hresponse($value) {
    		return (bool) preg_match("/^.{0,32}$/iu", $value);
    	}
    	
    	public function activity($value) {
    		return (bool) preg_match("/^.{0,32}$/iu", $value);
    	}
    	
    	public function interest($value) {
    		return (bool) preg_match("/^.{0,32}$/iu", $value);
    	}
    }
    ?>

    Моё свежее, с утра высранное!

    Devzirom, 10 Января 2011

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

    +164

    1. 1
    2. 2
    3. 3
    function isUTF8 ($str) {
        return $utf8 = (preg_match("/^([\x09\x0A\x0D\x20-\x7E]|[\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x90-\xBF][\x80-\xBF]{2}|[\xF1-\xF3][\x80-\xBF]{3}|\xF4[\x80-\x8F][\x80-\xBF]{2})*$/", $str)) ? true : false;
    }

    говно или нет?

    stasoft, 08 Января 2011

    Комментарии (7)
  5. Ruby / Говнокод #5180

    −100

    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
    N = 5
    $mas = (1..N).to_a
    $c = 0
     
    def generate(l = 0)
        if l == N-1
            for i in 0..N-1 do
                print("#{$mas[i]} ")
            end
            $c += 1; print("\n")
        else
            for i in l..N-1 do
                t = $mas[l]; $mas[l] = $mas[i]; $mas[i] = t;
                generate(l+1)
                t = $mas[l]; $mas[l] = $mas[i]; $mas[i] = t;
            end
        end
        return $c
    end
     
    p generate(0);

    qbasic, 08 Января 2011

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

    +162

    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
    <?
    // blah blah blah ...
    
    static public function parseCleanValue( $val, $postParse=true )
    {
        if ( $val == "" )
        {
        	return "";
        }
    
        // blah blah blah ...
    }
    
    // blah blah blah ...
    
    ?>

    IP.Board 3.0.4

    /admin/sources/base/core.php:4139

    IPB, такой IPB

    miraage, 06 Января 2011

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

    +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
    <?php 
    if (isset($_GET['offset'])) { 
        $minutes = $_GET['offset']; 
        echo "GMT offset (in minutes, from the browser): ". $minutes ."<br />\n"; 
        echo "GMT: ". gmdate("Y-m-d H:i:s") ."<br />\n"; 
         
        $local = gmmktime(gmdate("H"),gmdate("i")-$minutes); // adjust GMT by client's offset 
         
        echo "Calculated client's date/time: ". gmdate("Y-m-d h:i:s a",$local) ."<br />\n"; 
    } else { 
        echo "<script language='javascript'>\n"; 
        echo "var d = new Date();\n"; 
        echo "location.href=\"${_SERVER['SCRIPT_NAME']}?offset=\" + d.getTimezoneOffset();\n"; 
        echo "</script>\n"; 
        exit(); 
    } 
    ?>

    где здесь пхп, кажется, понятно )

    Lure Of Chaos, 30 Декабря 2010

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

    +173

    1. 1
    $dateEnd = date("Y-m-d",mktime(23, 59, 59, date("m"), date("d"), date("Y")));

    У кого-то хватило ума почитать документацию, а вот понять её - нет.

    trinkl, 27 Декабря 2010

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

    +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
    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
    #include <stdio.h>
    #include <unistd.h>
    #include <stdlib.h>
    #include <time.h>
    #include <sys/types.h>
    
    int main(int argc, char ** argv)
    {
    //...
    time_t time0=time(NULL);
    //...
    if ((f=fopen(argv[1],"r"))==NULL)
    {
    	//...
    }
    while ((fscanf(f,"%i %s",&tim[i],buffer[i]))!=EOF)
    {
    	i++;
    	if (i>=n)
    	{
    		n=i+10;
    		tim=(int*)realloc(tim,n*sizeof(int));
    		buffer=(char**)realloc(buffer,n*sizeof(char*));
    		for (k=k; k<n; k++)
    		{
    			buffer[k]=(char*)realloc(buffer[k],256*sizeof(char));
    		}
    	}
    }
    if (fclose(f)==-1)
    {
    	//...
    }
    //------------finished reading input file-------------------
    //------------sorting (bubble =) )--------------------------
    while (flag)
    	{
    		flag=0;
    		for (j=0; j<=i-2; j++)
    		{
    			if (tim[j]>tim[j+1])
    			{
    				tmpi=tim[j];
    				tim[j]=tim[j+1];
    				tim[j+1]=tmpi;
    				tmpc=buffer[j];
    				buffer[j]=buffer[j+1];
    				buffer[j+1]=tmpc;
    				flag=1;
    			}
    		}
    	}
    //-----------executing------------------------------
    k=0;
    while(k<=i-1)
    {
    	if (tim[k]==(int)(time(NULL)-time0))
    	{
            if(!(pid=fork()))
            {
            	execv(buffer[k],NULL);
            }
            else
            {
            	k++;
            }
    	}
    }
    //...
    return 0;
    }

    Читает из файла таймер до запуска и имя программы. Я плакалъ...

    krems, 25 Декабря 2010

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

    −117

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    my $result = `zabbix_agent -t proc.num[,,,*.pl]`
    ...
    #удаляем файлы форков
    `rm /tmp/event_agent_fork_*`;
    `rm /tmp/event_agent_main_*`;
    ...
    `killall -9 event_agent.pl`;
    sleep(5);
    `/usr/local/blabla/bin/blabla.pl`;

    LusterDroid, 20 Декабря 2010

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

    +167

    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
    bool ParseConfig::TestVariable(const std::wstring _data) const
    {
      std::wstring::size_type i=0;
    
      if(_data.empty()) return false;
    
      if(  _data[0]!=L'Q' && _data[0]!=L'W' && _data[0]!=L'E' && _data[0]!=L'R' && _data[0]!=L'T' && 
        _data[0]!=L'Y' && _data[0]!=L'U' && _data[0]!=L'I' && _data[0]!=L'O' && _data[0]!=L'P' && 
        _data[0]!=L'A' && _data[0]!=L'S' && _data[0]!=L'D' && _data[0]!=L'F' && _data[0]!=L'G' && 
        _data[0]!=L'H' && _data[0]!=L'J' && _data[0]!=L'K' && _data[0]!=L'L' && _data[0]!=L'Z' && 
        _data[0]!=L'X' && _data[0]!=L'C' && _data[0]!=L'V' && _data[0]!=L'B' && _data[0]!=L'N' && 
        _data[0]!=L'M' && _data[0]!=L'q' && _data[0]!=L'w' && _data[0]!=L'e' && _data[0]!=L'r' && 
        _data[0]!=L't' && _data[0]!=L'y' && _data[0]!=L'u' && _data[0]!=L'i' && _data[0]!=L'o' && 
        _data[0]!=L'p' && _data[0]!=L'a' && _data[0]!=L's' && _data[0]!=L'd' && _data[0]!=L'f' && 
        _data[0]!=L'g' && _data[0]!=L'h' && _data[0]!=L'j' && _data[0]!=L'k' && _data[0]!=L'l' && 
        _data[0]!=L'z' && _data[0]!=L'x' && _data[0]!=L'c' && _data[0]!=L'v' && _data[0]!=L'b' && 
        _data[0]!=L'n' && _data[0]!=L'm' && _data[0]!=L'_')
      {
        return false;
      }
    
      for(i=1;i<_data.size();i++)
      {
        if(  _data[i]!=L'Q' && _data[i]!=L'W' && _data[i]!=L'E' && _data[i]!=L'R' && _data[i]!=L'T' && 
          _data[i]!=L'Y' && _data[i]!=L'U' && _data[i]!=L'I' && _data[i]!=L'O' && _data[i]!=L'P' && 
          _data[i]!=L'A' && _data[i]!=L'S' && _data[i]!=L'D' && _data[i]!=L'F' && _data[i]!=L'G' && 
          _data[i]!=L'H' && _data[i]!=L'J' && _data[i]!=L'K' && _data[i]!=L'L' && _data[i]!=L'Z' && 
          _data[i]!=L'X' && _data[i]!=L'C' && _data[i]!=L'V' && _data[i]!=L'B' && _data[i]!=L'N' && 
          _data[i]!=L'M' && _data[i]!=L'q' && _data[i]!=L'w' && _data[i]!=L'e' && _data[i]!=L'r' && 
          _data[i]!=L't' && _data[i]!=L'y' && _data[i]!=L'u' && _data[i]!=L'i' && _data[i]!=L'o' && 
          _data[i]!=L'p' && _data[i]!=L'a' && _data[i]!=L's' && _data[i]!=L'd' && _data[i]!=L'f' && 
          _data[i]!=L'g' && _data[i]!=L'h' && _data[i]!=L'j' && _data[i]!=L'k' && _data[i]!=L'l' && 
          _data[i]!=L'z' && _data[i]!=L'x' && _data[i]!=L'c' && _data[i]!=L'v' && _data[i]!=L'b' && 
          _data[i]!=L'n' && _data[i]!=L'm' && _data[i]!=L'_' && _data[i]!=L'0' && _data[i]!=L'1' && 
          _data[i]!=L'2' && _data[i]!=L'3' && _data[i]!=L'4' && _data[i]!=L'5' && _data[i]!=L'6' && 
          _data[i]!=L'7' && _data[i]!=L'8' && _data[i]!=L'9')
        {
          return false;
        }
      }
    
      return true;
    }

    Чел пишет парсер....

    AstonS, 20 Декабря 2010

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