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

    +164

    1. 1
    $id = int(int(int(int(int(int(int(int(int(int(int(int(int(int(int($_POST["id"])))))))))))))));

    Зачем??

    Reds, 12 Декабря 2014

    Комментарии (15)
  2. Куча / Говнокод #17302

    +129

    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
    " Подсчёт количества документов
    
      DEFINE incr.
        add 1 to ls_summary-c_&1.
      END-OF-DEFINITION.
    
      CASE ls_s08_doc-status.
        WHEN `01`. incr vvr.
        WHEN `02`. incr vvr. incr vpz.
        WHEN `03`. incr prz.
        WHEN `04`. incr prz. incr nnp. incr otk.
        WHEN `05`.
        WHEN `06`. incr prz. incr nnp.
        WHEN `07`. incr prz. incr nnp. incr sgl.
        WHEN `ПД`. incr prz. incr nnp. incr v12.
        WHEN `ПП`.
        WHEN `ПС`. incr prz. incr nnp. incr pns.
        WHEN `НП`.
        WHEN `СФ`. incr prz. incr nnp. incr v12.
        WHEN `ТП`. incr vvr. incr vpz.
        WHEN `ОК`. incr prz. incr nnp. incr v12. incr o12.
        WHEN OTHERS.
      ENDCASE.

    В ABAP нет инкремента. Зато есть макросы, в которые подставляется «что написано» в точности так как написано ^_^

    Yaruson, 12 Декабря 2014

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

    +70

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public static List<Defaulter> getDefaulterList() {
    	List<Defaulter> defaulters = new ArrayList<Defaulter>();
    
    	for (Map.Entry<Class<?>, Defaulter> defaulterEntry : hash.entrySet()) {
    		Defaulter def = defaulterEntry.getValue();
    		defaulters.add(def);
    	}
    
    	return defaulters;
    }

    Всё заменилось одной строкой:

    return new ArrayList<Defaulter>(hash.values());

    someone, 12 Декабря 2014

    Комментарии (1)
  4. Куча / Говнокод #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)
  5. 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)
  6. Java / Говнокод #17298

    +83

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

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

    SeibaNyak, 11 Декабря 2014

    Комментарии (9)
  7. 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)
  8. 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)
  9. 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)
  10. PHP / Говнокод #17294

    +161

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

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

    JAZzmiX, 11 Декабря 2014

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