1. Ruby / Говнокод #10622

    −84

    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
    def self.allow_some_behaviour?
      # better safe than sorry.
      bool = !false ? !false : !!false
    
      # type checking
      if bool
    
        # short circuit just in case
        return !true;
      elsif !bool
        return !false
      end
    end

    найдено в реальном проекте, работало в течении года где то. зачем это сделано - непонятно. почему не выпилили, тоже неясно.

    malleus, 08 Июня 2012

    Комментарии (4)
  2. Си / Говнокод #10621

    +137

    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
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    int main()
    {
    	long i, copy, n, temp;
    	int *ar, j, k, flag, d1, d2;
    	for(i=987654321; i>=123456789; i--)
    	{		
    		copy=i;
    		ar=(int *)calloc(10, sizeof(int));
    		while(copy>0)
    		{
    			if(copy%10==0)
    				break;
    			if(ar[copy%10]!=0)
    				break;
    			ar[copy%10]=1;
    			copy/=10;
    		}
    		free(ar);
    		if(copy==0)
    		{				
    			for(j=8; j>=5; j--)
    			{
    				flag=1;
    				n=i/(long)pow(10, j);
    				copy=i-n*(long)pow(10, j);
    				for(k=2; k<=8 && flag; k++)
    				{
    					temp=n*k;
    					if(temp>copy)
    					{
    						flag=0;
    						break;
    					}
    					while(temp>0)
    					{
    						d1=temp/(long)pow(10, (int)log10(temp));
    						d2=copy/(long)pow(10, (int)log10(copy));
    						if(d1!=d2)
    						{
    							flag=0;
    							break;
    						}
    						temp=temp-d1*(long)pow(10, (int)log10(temp));
    						copy=copy-d2*(long)pow(10, (int)log10(copy));
    					}
    					if(copy==0)
    					{
    						printf("The pandigital number is %ld and the integer is %ld\n", i, n);
    						return 0;
    					}
    				}
    			}
    		}
    	}
    	return 0;
    }

    Очередной гений с пр. Ейлер:
    http://projecteuler.net/problem=38
    http://projecteuler.net/thread=38&page=8


    >Runtime: 14.86s on 2.67Ghz machine

    TheHamstertamer, 08 Июня 2012

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

    +57

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $format   = $_[3];           # Format object
    
    # Check for a format object
    if (isset($_[3])) {
        $ixfe = $format->get_xf_index();
    } else {
        $ixfe = 0x0F;
    }

    Сначала присвоить, а потом проверить наличие - это сильно!
    Найдено в class.writeexcel_worksheet.inc.php - классе для заботы с .xls

    domaster, 08 Июня 2012

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

    −34

    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
    //cgi_http.cpp
    
    #include "http.h"
    #include <cstring>
    #include <cstdlib>
    
    //decodes uri-encorded string
    char* uri_decode(char* source, char* dest)
    {
    //save pointer address for dest
    char* p = dest;
    char* src = source;
    
    while(*src)
    {
    if(src == strstr(src,"%B8"))
    {
    *p = 'ё';
    src = src + 3;
    p++;
    }
    else if(src == strstr(src,"%E9"))
    {
    *p = 'й';
    src = src + 3;
    p++;
    }
    else if(src == strstr(src,"%F6"))
    {
    *p = 'ц';
    src = src + 3;
    p++;
    }
    else if(src == strstr(src,"%F3"))
    {
    *p = 'у';
    src = src + 3;
    p++;
    }
    else if(src == strstr(src,"%EA"))
    {
    *p = 'к';
    src = src + 3;
    p++;
    }
    else if(src == strstr(src,"%E5"))
    {
    *p = 'е';
    src = src + 3;
    p++;
    }
    .......

    Выкладываю свой чатик на С++. PHP не нужен.

    kukuk, 07 Июня 2012

    Комментарии (13)
  5. JavaScript / Говнокод #10617

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function changeFilter(event) {
      if (parseInt(event.newValue) < 1000) {
        api.Msg.showErr("Укажите год!");
      }
    }

    Обработчик onchange поля "Год"

    glprizes, 07 Июня 2012

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

    +123

    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
    __flash unsigned char strings[] =
    {
      20,     '*','*','Р','е','ж','и','м',' ','О','т','ч','ё','т','о','в',' ','Ф','Р','*','*',
      20,     'П','р','о','м','.',':','1',' ','С','м','е','н','.',':','2',' ','Ф','O',':','3',
      20,     ' ','З','а','к','р','ы','т','ь',' ','с','м','е','н','у',' ','Ф','Р','?',' ',' ',
      20,     ' ','П','е','ч','а','т','а','т','ь',' ','X','-','О','т','ч','ё','т','?',' ',' ',
      20,     '*','Р','е','ж','и','м',' ','К','о','р','р','е','к','ц','и','и',' ','Ф','Р','*',
      20,     'В','Н','Е','С',':','1',' ','В','Ы','П','Л',':','2',' ','К','О','Р','Р',':','3',
      20,     '*','К','Ф','Р','*',' ','О','п','е','р','.','В','н','е','с','е','н','и','е',' ',
      20,     '*','К','Ф','Р','*',' ','О','п','е','р','.',' ','В','ы','п','л','а','т','а',' ',
      20,     '*','К','Ф','Р','*',' ','К','о','р','р','е','к','т','-','й',' ','ч','е','к',' ',
      20,     '*','Р','е','ж','и','м',' ','П','р','о','г','р','а','м','-','я',' ','Ф','Р','*',
      20,     'В','Р','Е','М','Я',':','1',' ','П','Р','Л',':','2',' ','Т','И','П',':','3',' ',
      20,     '*','П','Ф','Р','*',' ',' ','Д','а','т','а','-','В','р','е','м','я',' ',' ',' ',
      12,     'Т','И','П',' ','Т','О','П','Л','И','В','А','?',
      4,      'д','о','з','а',
      5,      'C','У','М','М','А',
      5,      'C','Д','А','Ч','А',
      4,      'р','у','б','.',
      9,      'О','Ш','И','Б','К','А',' ','Ф','Р',
      9,      'П','О','Л','Н','.',' ','Б','А','К',
      7,      'П','а','р','о','л','ь',':',
      20,     ' ',' ','П','е','ч','а','т','ь',' ','X','-','О','т','ч','ё','т','а',' ',' ',' ',
      20,     ' ',' ','З','а','к','р','ы','т','и','е',' ','с','м','е','н','ы',' ','Ф','Р',' ',
      20,     '*','Р','е','ж','и','м',' ','П','р','о','г','.',' ','П','а','р','а','м','.','*',
      4,      'Т','Р','К',':',
      3,      'Р','К',':',
      5,      '*','П','П','*',' ',
      20,     '*','И','Н','Ф','*',' ',' ','Ц','Е','Н','А',' ','З','А',' ','Л','И','Т','Р',' ',
      20,     ' ','Г','р','а','н','и','т','-','2','м','к',' ','V','e','r',' ','1','.','1',' ',
      20,     ' ',' ','П','о','д','ч','и','н','ё','н','н','ы','й',' ','р','е','ж','и','м',' ',
      20,     ' ',' ',' ','А','к','т','и','в','н','ы','й',' ','р','е','ж','и','м',' ',' ',' ',
      20,     ' ','Ф','а','т','а','л','ь','н','а','я',' ','о','ш','и','б','к','а','!','!','!',
      20,     '*','C','у','м','м','а','р','н','ы','е',' ','с','ч','ё','т','ч','и','к','и','*',
      20,     'C','М','Е','Н','Н','Ы','Е',':','1',' ','Ф','И','С','К','А','Л','-','Е',':','2',
      20,     '*','C','М','.','С','Ч','*',' ','Т','Р','К',':',' ',' ',' ',' ',' ',' ',' ',' ',
      20,     'С','б','р','о','с','и','т','ь',' ','С','м','е','н','.','С','Ч','.','?',' ',' ',
      6,      'Н','Л','.','С','Ч','=',
      6,      'Ф','С','.','С','Ч','=',
      20,     ' ',' ',' ','П','е','ч','а','т','ь',' ','ч','е','к','а',' ',' ',' ',' ',' ',' ',
      20,     '*','П','Ф','Р','*',' ','П','а','р','о','л','ь',' ','К','а','с','с','и','р','а',
      20,     '*','П','Ф','Р','*',' ','Т','и','п',' ','Ф','Р',' ',' ',' ',' ',' ',' ',' ',' ',
      20,     ' ','В','ы','к','л','ю','ч','е','н','и','е',' ','п','и','т','а','н','и','я',' ',
      20,     'Н','Л',':','1',' ','Б','Н',':','2',' ','П','Р',':','3',' ',' ',' ',' ',' ',' ',//'C','Б',':','4',' ',
      20,     ' ','П','о','т','е','р','я',' ','с','в','я','з','и',' ','с',' ','Т','Р','К',' ',
      20,     ' ','О','ш','и','б','к','а',' ','Ф','Р',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
      20,     ' ',' ',' ',' ','П','е','р','е','з','а','п','у','с','к','!','!','!',' ',' ',' ',
      20,     ' ','З','а','п','р','о','с',' ','с','о','с','т','о','я','н','и','я',' ','Ф','Р',
      20,     ' ','У','с','т','а','н','о','в','к','а',' ','в','р','е','м','е','н','и',' ',' ',
      20,     '*','C','М','.','С','Ч','*',' ',' ',' ','С','М','Е','Н','Н','Ы','Е',' ',' ',' ',
      20,     '*','О','Ф','Р','*',' ','Ф','И','С','К','.',' ','О','Т','Ч','Ё','Т','Ы',' ',' ',
      20,     '№',' ','С','М','Е','Н',':','1',' ','П','О',' ','Д','А','Т','А','М',':','2',' ',
      20,     '*','Р','О','Ф','Р','*',' ',' ','Ф','О',' ','П','О',' ','Д','А','Т','А','М',' ',
      20,     'c',' ',' ','-',' ',' ','-',' ',' ',' ','п','о',' ',' ','-',' ',' ','-',' ',' ',
      20,     '*','О','Ф','Р','*',' ',' ','Ф','О',' ','П','О',' ','С','М','Е','Н','А','М',' ',
      20,     '*','О','б','щ','а','я',' ','к','о','н','ф','и','г','у','р','а','ц','и','я','*',
      20,     'У','с','т','-','к','и',':','1',' ','З','а','м','е','н','а',' ','П','O',':','2',
      20,     'П','р','о','и','з','в','е','с','т','и',' ','з','а','м','е','н','у',' ','П','О',
      20,     '*','К','о','н','ф','*',' ',' ','П','а','р','а','м','е','т','р',':',' ',' ',' ',
      20,     'П','а','р','о','л','ь',' ','о','п','е','р','-','р','а',':',' ',' ',' ',' ',' ',
      20,     'П','а','р','о','л','ь',' ','а','д','м','и','н','.',':',' ',' ',' ',' ',' ',' ',
      20,     'М','и','н','.',' ','д','о','з','а',':',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
      20,     'Т','е','х','н','о','л','о','г','и','ч','.',' ','о','т','п','у','с','к',':',' ',
      11,     'О','Ш','И','Б','К','А',' ','Т','Р','К',':',
      20,     ' ','В','В','Е','Д','И','Т','Е',' ','С','Е','К','Ц','И','Ю',':',' ',' ',' ',' ',
      8,      'В','о','з','в','р','а','т',':',
      8,      'п','е','ч','а','т','а','т','ь',
      11,     'н','е',' ','п','е','ч','а','т','а','т','ь',
      10,     'c','п','р','а','ш','и','в','а','т','ь',
      20,     'В','о','з','в','р','а','т','?',' ','Д','а',':','1',' ','О','т','м',':','3',' ',
      10,     'C','б','о','р','к','а',' ','о','т',' ',
      11,     'З','а','г','р','у','з','к','а',' ','П','О',
      9,      'Н','е','т',' ','с','в','я','з','и',
      10,     'Н','е','т',' ','б','у','м','а','г','и',
      7,      '2','4',' ','ч','а','с','а',
      11,     'Н','е','п','р','.',' ','р','е','ж','и','м',
      11,     'П','О','В',':','1',' ','О','Т','М',':','3',
      16,     'Н','е','в','е','р','н','ы','й',' ','т','и','п',' ','Т','Р','К',
      11,     'C','к','и','д','к','а',' ','№',' ',':',' ',

    Всё, к сожалению, не влезло - 117 строк!

    boolivar, 07 Июня 2012

    Комментарии (14)
  7. Java / Говнокод #10615

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    protected Condition parseLogicNot(Element n)
    {
       for(Object element : n.elements())
          return new ConditionLogicNot(parseCond((Element) element));
    
       log.error("Empty <not> condition in " + getCurrentFileName());
       return null;
    }

    Закинем ка для каждого по Exception'у :)

    EvSpirit, 07 Июня 2012

    Комментарии (18)
  8. Си / Говнокод #10613

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // заполнить кадр на пересылку
    for (i = 1; i<frame[0]; i++) 
    {	sciOutFrame[i] = frame[i];}
    
    // Установим длину кадра ( в первый байт кадра )
    sciOutFrame[0] = i;

    boolivar, 07 Июня 2012

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

    +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
    code unsigned char strings[] = {
    '-','-','-','-','-','-',        'Ь','Л','O','P','А','П',        'Г','O','P','П',' ',' ',  // 1 ввод пароля для параметров                 1
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Г','O','P','П',' ',' ',  // 2 ввод номера параметра                   2
    '-','-','-','-',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Н','И','П',' ',' ',' ',  // 3 ввод пин-кода                           3
    ' ',' ',' ',' ',' ',' ',        '-','-','-','-','-','-',        'Л','P','A','П',' ',' ',  // 4 ввод пароля на калибровку              4
    'P','O','Б','I','Ъ','В',        'П',' ',' ',' ',' ',' ',        'P','8','O','П',' ',' ',  // 5 выбор канала калибровки                 5
    '-','-','-','-','-','-',        'Ь','Л','О','Р','А','П',        'И','P',' ',' ',' ',' ',  // 6 ввод пароля нач. инициализации          6
    't','r','A','t','S',' ',        '1','t','F','E','L',' ',        'И','Р',' ',' ',' ',' ',  // 7 инициализация сторон                    7
    '0','0','0',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'H','4','У','Р',' ',' ',  // 8 ввод стоимости                          8
    ' ',' ',' ',' ',' ',' ',        '0','0','0',' ',' ',' ',        'H','4','У','P',' ',' ',  // 9 дозы                                    9
    ' ','П',' ',' ',' ','C',        'П','А','З',' ',' ',' ',        'И','Р',' ',' ',' ',' ',  // 10 завершение инициализации сторон         10
    'P','O','Б','I','Ъ','В',        ' ','П',' ',' ',' ','C',        'И','Р',' ',' ',' ',' ',  // 11 отображение канала для инициализации    11
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Р','8','О','П',' ',' ',  // 12 ввод дозы для калибровки                12
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',  // 13 экно просмотра суммарника               13
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Р','8','О','П',' ',' ',  // 14 просмотр весового коэффициента             14
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Р','8','0','П',' ',' ',  // 15 просмотр пин-кода последней калибровки  15
    'A','3','O','d',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Р','8','О','П',' ',' ',  // 16 ввод начальной дозы калибровки          16
    'C','O','P','Б','С',' ',        ' ',' ',' ',' ',' ',' ',        'И','Р',' ',' ',' ',' ',  // 17 запрос очистки всех привязок            17
    ' ',' ',' ',' ',' ','С',        ' ',' ',' ',' ',' ',' ',        'И','Р',' ',' ',' ',' ',  // 18 шаблон для ротации индикаторов          18
    'С','О','Р','П','А','З',        ' ',' ',' ',' ',' ',' ',        'Н','4','У','Р',' ',' ',  // 19 запрос подтверждения с ПК об отпуске на литры  19
    '1','-','С','А','Ч',' ',        '2','-','Б','О','С',' ',        '3','0','И','Р',' ',' ',  // 20 меню инициализации
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'С','А','Ч',' ',' ',' ',  // 21 меню редактирования даты времени        13
    };

    boolivar, 07 Июня 2012

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    switch (achievements.length) {
      case 0: return 0;
      case 1: return 30;
      case 2: return 60;
      case 3: return 75;
      case 4: return 90;
      case 5: return 100;
      default: return 0;
    }

    зато не if'ы

    dimalev, 07 Июня 2012

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