1. 1C / Говнокод #13039

    −166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    Функция  УбратьПробелы(Строка)
    	ВозвратСтрока = "";
    	Сч = 1;
    	ДлинаСтроки = СтрДлина(Строка);
    	Пока Сч <= ДлинаСтроки Цикл 
    		Если КодСимвола(Строка, Сч) <> 160 Тогда
    			ВозвратСтрока = ВозвратСтрока + Символ(КодСимвола(Строка, Сч));
    		КонецЕсли;
    		Сч = Сч + 1;
    	КонецЦикла;
    	Возврат ВозвратСтрока;
    КонецФункции

    Видимо
    Строка = СтрЗаменить(Строка, Символ(160), "");
    выглядело слишком неочевидно, пробелы же нестандартные, а вот УбратьПробелы(Строка) - это - да, это всем понятно.

    madcat_sev, 23 Мая 2013

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

    +26

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (Keys == 0 && Shift.Contains(ssShift) == false && Shift.Contains(ssCtrl) == false && Shift.Contains(ssAlt) == false) { ... }
    if (Keys == 1 && Shift.Contains(ssShift) == true && Shift.Contains(ssCtrl) == false && Shift.Contains(ssAlt) == false) { ... }
    if (Keys == 2 && Shift.Contains(ssShift) == false && Shift.Contains(ssCtrl) == true && Shift.Contains(ssAlt) == false) { ... }
    if (Keys == 3 && Shift.Contains(ssShift) == false && Shift.Contains(ssCtrl) == false && Shift.Contains(ssAlt) == true) { ... }
    if (Keys == 4 && Shift.Contains(ssShift) == true && Shift.Contains(ssCtrl) == true && Shift.Contains(ssAlt) == false) { ... }
    if (Keys == 5 && Shift.Contains(ssShift) == true && Shift.Contains(ssCtrl) == false && Shift.Contains(ssAlt) == true) { ... }
    if (Keys == 6 && Shift.Contains(ssShift) == false && Shift.Contains(ssCtrl) == true && Shift.Contains(ssAlt) == true) { ... }
    if (Keys == 7 && Shift.Contains(ssShift) == true && Shift.Contains(ssCtrl) == true && Shift.Contains(ssAlt) == true) { ... }

    Без комментариев. Думаю, тут и так все понятно ;)

    bormand, 23 Мая 2013

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

    +162

    1. 1
    2. 2
    themeStr= (false)? "<br><b>" + "Вопросы по теме: " + theme + "<\/b><br>" : "";
      qNumberStr = (!false && (!false || afterAnswers))? "<br><b>" + qNumbers[iQuestion] + "<\/b><br>" : "";

    Это же какой полет мысли!

    Daiver, 23 Мая 2013

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    .td-basket .region>.td-list .td-a>p+div>p:first-child+p,
    .td-basket .region>.td-list>div>img+div>p+p>span,
    .td-basket .region>.td-list .td-a>p+div+div>p:first-child+p,
    .td-basket .region>.td-list h2
     {
       font-size: 16px;
    }

    Ниндзя-верстак

    dsxack, 22 Мая 2013

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

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?php
    
    ...
    
    if( preg_match( "#\.#is", $current_rating ) )
    {
    	list( $n1, $n2 ) = explode( ".", $current_rating );
    	$current_rating = floatval( $n1.".".substr( $n2, 0, 2 ) );
    }

    round?

    faiwer, 22 Мая 2013

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

    +14

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    uint8_t* head = (uint8_t*) Buffer::Data(buffer);
    uint8_t* tail = head + Buffer::Length(buffer) - 1;
    
    // xor swap, just because I can
    while (head < tail) *head ^= *tail, *tail ^= *head, *head ^= *tail, ++head, --tail;

    https://github.com/bnoordhuis/node-buffertools/blob/master/buffertools.cc#L157

    movaxbx, 22 Мая 2013

    Комментарии (16)
  7. SQL / Говнокод #13032

    −165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    delete
        from liaison
    where
        type = 'UsersGroup' and
        `group` = 'static_' || (select id from usergroup where name = :grp)

    Час назад вынес этим запросом все связи между группами и юзерами в боевой базе ;)

    P.S. Почему в mysql все дерьмо, работающее совсем не так, как оно работает почти во всех остальных СУБД, включено по умолчанию?

    bormand, 22 Мая 2013

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

    +150

    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
    function deleteDublicateItems(){
        $q = '
        select COUNT(*), id, vk_id
        from `items`
        group by `vk_id`
        having COUNT(*) > 1';
        $sql = mysql_query($q);
        
        if (mysql_num_rows($sql)){	
    	while($row = mysql_fetch_assoc($sql)){
    	    $sql2 = mysql_query('select * from `items` where `vk_id` = "'.$row['vk_id'].'" and `id` != "'.$row['id'].'"');
    	    
    	    if (mysql_num_rows($sql2)) {
    		while($row2 = mysql_fetch_assoc($sql2)) {
    		    $sql3 = mysql_query('select * from `images` where `item_id` = "'.$row2['id'].'"');
    		    
    		    if (mysql_num_rows($sql3)) {
    			while ($row3 = mysql_fetch_assoc($sql3)) {
    			    @unlink( ROOT . DS . 'uploads' . DS . 'images' . DS . $row3['name'] . '.' . $row3['ext']);
    			    mysql_query('delete from `images` where `id` = "'.$row3['id'].'"');
    			}
    		    }		    
    		    mysql_query('delete from `items` where `id` = "'.$row2['id'].'"');
    		}
    	    }
    	}
        }
    }

    удаление дубликатов

    Serious_Andy, 22 Мая 2013

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

    +147

    1. 1
    <cbimport_import_check_checkimport>

    надо вдуматся что бы понять
    нода из конфигурации модуля под маженто

    vesan, 21 Мая 2013

    Комментарии (1)
  10. Ruby / Говнокод #13029

    −85

    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
    def self.process(site, object = nil, &block)
        dont_unblock = false
        block_res = true
    
        site.lock!
        if site.assets_blocked?
          dont_unblock = true
          raise Asset::BlockedException
        end
        site.assets_blocked = true
        site.save!
    
        block_res = yield if block_given?
    
        return false unless block_res
        return object.save if object
    
        true
      ensure
        site.update_attribute(:assets_blocked, false) unless dont_unblock
      end
    
      # во всех местах, где с ассетами делалось хоть что-нибудь, копипастился такой кусок:
    
          result =
          begin
            @asset = @site.assets.new
            @asset.process do
              @asset.attached = params[:file]
              @asset.folder_path = params[:path]
            end
          rescue Asset::BlockedException
            render json: { errors: [I18n.t("layout.assets.errors.assets_blocked")] } and return
          end

    По мотивам http://govnokod.ru/13027: транзакции изобретены не нами, давайте сделаем их сами!

    whitequark, 21 Мая 2013

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