1. Куча / Говнокод #17300

    +131

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    next_int() ->
      receive {next_int, N} -> 
        self() ! {next_int, N + 1}, 
        N
      after 0 ->
        self() ! {next_int, 0}, 
        0
      end.
    
    ...
    [{A, next_int()}|| A <- SomeList]

    Простейший способ пронумеровать элементы списка эрланге. Найдено в продакшне, ошибки сохранены.

    lesmugfrog, 12 Декабря 2014

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

    +158

    1. 1
    $newFilename = strrev(implode('_',explode('_',strrev($basename),-5)));

    убирает префикс даты и типа файла
    пример:
    04_08_2014_5_N_Capture.png
    04_08_2014_5_N_My_Capture.png

    moledet2, 11 Декабря 2014

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

    +83

    1. 1
    mEdit.setText(mEdit.getText());

    Больше кода => больше бананов.

    SeibaNyak, 11 Декабря 2014

    Комментарии (9)
  4. Java / Говнокод #17297

    +73

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    @Override
    public void run()
    {
    	_tracks = parseTracks();
    	double inc = 100 / _tracks.size();
    	for(Track track : _tracks)
    	{
    		track.save(_savePath);
    		_progress += inc;
    	}
    	_progress = 100;
    }

    Категория "чтоб наверняка".

    pushistayapodmyshka, 11 Декабря 2014

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

    +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
    foreach($this->_logs as $log)
    {
        if($log[1]!==CLogger::LEVEL_PROFILE)
            continue;
        list($message,$level,$category,$timestamp)=$log;
        if(!strncasecmp($message,'begin:',6))
        {
            $log[0]=substr($message,6);
            $stack[]=$log;
        }
        elseif(!strncasecmp($message,'end:',4))
        {
            $token=substr($message,4);
            if(($last=array_pop($stack))!==null && $last[0]===$token)
            {
                $delta=$log[3]-$last[3];
                $this->_timings[]=array($message,$category,$delta);
            }
            else
                throw new CException(Yii::t('yii','CProfileLogRoute found a mismatching code block "{token}". Make sure the calls to Yii::beginProfile() and Yii::endProfile() be properly nested.',
                    array('{token}'=>$token)));
        }
    }

    Yii 1, реализация профайлинга через лог (ну потому что есть же лог, зачем еще сущности плодить, классы же долго грузятся, а у нас самый лайтвейт фреймворк). Чтобы уж точно наверняка, код дублируется в CProfileLogRoute.

    https://github.com/yiisoft/yii/blob/11c3010a82ce2c25332baacce568ff89e451896a/framework/logging/CLogger.php#L294
    https://github.com/yiisoft/yii/blob/11c3010a82ce2c25332baacce568ff89e451896a/framework/logging/CProfileLogRoute.php#L137

    Fike, 11 Декабря 2014

    Комментарии (13)
  6. ActionScript / Говнокод #17295

    −93

    1. 1
    2. 2
    -			facade.registerCommand(<enterprise>Constants.CUT_PUST_TRACKS_COMMAND, CutPustTracksCommand);
    +			facade.registerCommand(<enterprise>Constants.CUT_PUST_TRACKS_COMMAND, CutPasteTracksCommand);

    Ну, почти.

    wvxvw, 11 Декабря 2014

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

    +161

    1. 1
    if ($cat != '0' && $cat != '1' && $cat != '2') {$cat = '3';}

    Вот такой вот вывод =)

    JAZzmiX, 11 Декабря 2014

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

    +56

    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
    if(i%2==0)
    		{
    			for(j=int (l);j<n+int (l);j++)
    			{
    				A[i][j]=B1[k];
    				k++;
    			}	
    		}
    		else if(i%2!=0)
    		{
    			for(j=int (l);j<n+int (l);j++)
    			{
    				A[i][j]=B2[k];
    				k++;
    			}
    		}

    Когда-то один однокурсник спросил у препода:
    - А как добавить код в ИНАЧЕ от ИНАЧЕ.
    Что-то подобное увидел и в этом коде.

    FalseCoder, 11 Декабря 2014

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

    +135

    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
    int log2_floor (unsigned x)
    {
        #define NIMHTNOE0WNM(n) (((~(x>>n)+1)>>n)&n)
     
        int res, n;
     
        n = NIMHTNOE0WNM(16); res  = n; x >>= n;
        n = NIMHTNOE0WNM( 8); res |= n; x >>= n;
        n = NIMHTNOE0WNM( 4); res |= n; x >>= n;
        n = NIMHTNOE0WNM( 2); res |= n; x >>= n;
        n = NIMHTNOE0WNM( 1); res |= n;
        return res;
    }

    Кто-то Воррена перечитал.

    codemonkey, 11 Декабря 2014

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

    +149

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    var_dump(0); // int(0), OK
    var_dump(0x0); // int(0), OK
    var_dump(00); // int(0), OK
    var_dump(0.0); // double(0), OK
    var_dump(0.0e1); // double(0), OK
    var_dump(0e1); // double(0), WTF?

    PHP воспринимает экспоненциальную нотацию как double, будьте начеку

    volter9, 11 Декабря 2014

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