1. PHP / Говнокод #16955

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    for($i = 0; $i < $db->max; $i++) {
    	if($i==1) continue;
    	.....
    }

    Почему бы и нет

    UncaughtException, 28 Октября 2014

    Комментарии (10)
  2. Python / Говнокод #16954

    −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
    @login_required
    def datadelivery_stats_report(request, campaign_id):
    
        try:
            start_date = extract_date_to_default_timezone(request, 'start_date')
        except ValidationError:
            return HttpResponseServerError("The %s parameter is invalid." % 'start_date')
        except AttributeError:
            return HttpResponseServerError("The %s parameter is invalid." % 'start_date')
        except KeyError:
            return HttpResponseServerError("The %s parameter is missing." % 'start_date')
    
        try:
            end_date = extract_date_to_default_timezone(request, 'end_date')
        except ValidationError:
            return HttpResponseServerError("The %s parameter is invalid." % 'end_date')
        except AttributeError:
            return HttpResponseServerError("The %s parameter is invalid." % 'end_date')
        except KeyError:
            return HttpResponseServerError("The %s parameter is missing." % 'end_date')

    Джанга такая джанга... Почему же нельзя выбросить ошибку валидации? 404 можно...

    kyzi007, 28 Октября 2014

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

    −124

    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
    Результат = Запрос.Выполнить();
    Если Результат.Выгрузить().Количество() <> 0 Тогда
    	Выборка = Результат.Выбрать();
    	Пока Выборка.Следующий() Цикл
    		... тут некий код... и внутри контрольный в голову...
    		Если ТЗ.Количество() <> 0 Тогда
    			Для Каждого Строка Из ТЗ Цикл
    				...
    			КонецЦикла;	
    		КонецЕсли;	
    		...
    	КонецЦикла;
    КонецЕсли;

    Видимо это такая "оптимизация", другого объяснения подобным проверкам (это не единичный случай) не нашел.

    Twilight_Sun, 27 Октября 2014

    Комментарии (14)
  4. Pascal / Говнокод #16949

    +88

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    with dm.Query do
        begin
          if Active then Close;
          //вот так оно работало до ввода параметров
          //dm.QStat.SQL.Text := 'select * from T_ORDER where (date between ''' + IntToStr(ys) + '-' + IntToStr(ms) + '-' + IntToStr(ds) + ''' and ''' + IntToStr(yf) + '-' + IntToStr(mf) + '-' + IntToStr(df) + ''')' ;
    
          SQL.Text := 'select * from T_ORDER where (date between :StartDate  and :FinishDate)';
          Parameters.ParamByName('StartDate').Value := IntToStr(ys) + '-' + IntToStr(ms) + '-' + IntToStr(ds);
          Parameters.ParamByName('FinishDate').Value := IntToStr(yf) + '-' + IntToStr(mf) + '-' + IntToStr(df);

    в комменте - код, ниже - его вменяемая замена

    knowy, 27 Октября 2014

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (AllowOperation(array(1,2,3,4,5,9,10,29), array(), array(), array(), -1, -1)) { 
            } else {
            	//скрывать определённые поля для дизайнера
    			$tplCommon->assign("DISPLAY_NONE", "style='display: none;'");  
            }

    В AllowOperation указываются идентификаторы групп пользователей, что забиты в БД.
    Таких AllowOperation(array(1,2,3,4,5,9,10,29). .), но с разными идентификаторами во всей системе больше 1000.

    pavel87, 27 Октября 2014

    Комментарии (2)
  6. Pascal / Говнокод #16947

    +94

    1. 1
    2. 2
    fisher(Sender);//fisher
    macd(Sender);//macd

    Буква "С" - Содержательные комментарии.

    Практически единственные комменты в программе на 7000 строк.

    hardreset, 27 Октября 2014

    Комментарии (26)
  7. Куча / Говнокод #16946

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    # Превратим входную строку в вектор, и отсортируем  
    used_letter <- sort(strsplit(s, "")[[1]])
    # Находим самый большой используемый индекс(у нас уже есть гарантии, что в строке остались только допустимые символы)
    big_letter <- used_letter[length(used_letter)]

    Оригинальный способ поиска максимального элемента в массиве

    alineman, 27 Октября 2014

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

    −106

    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
    import pygame
    
    window = pygame.display.set_mode((600, 600))
    pygame.display.set_caption("GAME")
    screen = pygame.Surface((600, 600))
    
    class Sprite:
        def __init__(self, xpos, ypos, filename):
            self.x=xpos
            self.y=ypos
            self.bitmap=pygame.image.load(filename)
            self.bitmap.set_colorkey((0,0,0))
        def render(self):
            screen.blit(self.bitmap, (self.x,self.y))
    
    laser = Sprite(0, 0, 'laser.png')
    
    done = True
    while done:
        window.fill((50,50,50))
        for e in pygame.event.get():
            if e.type == pygame.QUIT:
                done = False
    
        screen.fill((50,50,50))
    
        laser.render()
        window.blit(screen, (0,0))
        pygame.display.flip()

    картинка на черном фоне

    archiwise, 27 Октября 2014

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

    +156

    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
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    // Активация заявки (мало ли, пригодиться =) )
    if($_GET['o'] == 'activate') {
    
    	if($zayavka = $GLOBALS['db']->GetRow("SELECT * FROM `".DB_PREFIX."_pan_zayavki` WHERE `id` = '".intval($_GET['zid'])."'")) {
    		
    		// Если заявка на админку
    		if($zayavka['type'] !== 'unban') {
    		
    			$type = $GLOBALS['db']->GetRow("SELECT
    													*
    												FROM
    													`".DB_PREFIX."_pan_types`
    												WHERE
    													`srvgid`= '".$zayavka['type']."'");
    			
    			$period = time() + ($zayavka['period'] * 86400);
    				
    			$aid = $userbank->AddAdmin($zayavka['nick'], $zayavka['steamid'], $zayavka['password'], $zayavka['e-mail'], '-1', '', $type['srvgid'], '', '', '', $period);
    
    			// Удаляем левые админки
    			$GLOBALS['db']->Execute("DELETE FROM `".DB_PREFIX."_admins_servers_groups` WHERE `admin_id` = '".$aid."'");
    			
    			// И задаём ему новые админки на выбранных серверах
    			$zservers = explode(',',$zayavka['server_id']);
    			
    			foreach($zservers AS $s)
    			{
    				if($s == '') { continue; }
    				$pre = $GLOBALS['db']->Prepare("INSERT INTO ".DB_PREFIX."_admins_servers_groups (admin_id,group_id,srv_group_id,server_id) VALUES (?,?,?,?)");
    				$GLOBALS['db']->Execute($pre,array($aid,
    												   0,
    												   -1,
    												   (int)$s));
    			}
    			
    			if(isset($GLOBALS['config']['config.enableadminrehashing']) && $GLOBALS['config']['config.enableadminrehashing'] == 1)
    			{
    			// Отправляем на сервера sm_rehash
    			echo '<script>ShowRehashBox("'.$zayavka['server_id'].'", "Добавление админа", "<b>Пожалуйста, не закрывайте и не обновляйте страницу</b><br />Обновление админов на серверах", "green", "index.php?p=admin&c=zayavki");TableReload();</script>';
    			}
    			else 
    			{
    				echo '<script>ShowBox("Админ добавлен", "Админ сервера успешно добавлен", "green", "index.php?p=admin&c=zayavki");TableReload();</script>';
    			}
    		}
    		
    		// Если же покупает разбан
    		else 
    		{
    			$unban = true;
    			
    			// Ищем бан
    			if($ban = $GLOBALS['db'] -> GetRow("SELECT bid FROM `".DB_PREFIX."_bans` WHERE `bid` = '".$zayavka['password']."' AND `RemoveType` = 'U'"))
    			{
    				echo '<script>ShowBox("Игрок разбанен", "Игрок '.$ban['name'].' разбанен ранее", "green", "index.php?p=admin&c=zayavki");TableReload();</script>';
    			}
    			else
    			{
    				// Разбаниваем игрока
    				$GLOBALS['db'] -> Execute("UPDATE `".DB_PREFIX."_bans` SET `RemovedBy` = '0', `RemoveType` = 'U' WHERE `bid` = '".$zayavka['password']."'");
    
    				echo '<script>ShowBox("Игрок разбанен", "Игрок успешно разбанен", "green", "index.php?p=admin&c=zayavki");TableReload();</script>';
    			}
    		}
    		
    		// Обновляем статус заявки на payd
    		$GLOBALS['db']->Execute("UPDATE `".DB_PREFIX."_pan_zayavki` SET `payd` = '1' WHERE `id` = '".intval($_GET['zid'])."'");
    	}
    }
    
    // Логфайл
    if(isset($_GET['logfile'])) {
    	if(is_file(INCLUDES_PATH . '/robo1/logs/log-ID-'.intval($_GET['logfile']).'.txt')) {
    		$filename = file_get_contents(INCLUDES_PATH . '/robo1/logs/log-ID-'.intval($_GET['logfile']).'.txt');
    		echo nl2br($filename);
    		echo '<br />';
    		echo '<div style="width:100%; text-align:center;">
    			<input type="button" class="btn ok" onClick="document.location.href=\'index.php?p=admin&c=zayavki\'" value="Назад" />
    		</div>';
    		PageDie();
    	}
    	else
    	{
    		echo '<script>ShowBox("Ошибка", "Лог файл не найден", "red", "");</script>';
    	}
    }

    Equality, 27 Октября 2014

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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Dictionary<string, string> Users = new Dictionary<string, string>();
    //somecode
    foreach (string key in Users.Keys)
    {
          string str = Users[key];
          m_LookUpProjectSupervisorFilter.Text = str;
          m_LookUpProjectSupervisorFilter.Value = key;
          break;
    }

    Такое часто в рабочем проекте.

    r1nk, 26 Октября 2014

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