1. Си / Говнокод #1567

    +144.5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    int main() {
        [some code here...]
        while(1) {
            [some code here...]
        }
    
    // At last, cleaning up... But for what, if this lines will never be used because of "while(1)"? Just I feel better with it :)
        sybase_close(&db);
        dropconfig(&cfg);
        
        return 0;
    }

    На самом деле тут ничего говнитого то, IMHO, нет.
    Но люди кидают сюда подобные куски кода, вот я решил тоже поделиться.

    Суть в том, что после while(1) идёт зачистка... которая, кстати, нужна при прогонке valgrind-ом (можно добавить break в цикл).

    xaionaro, 13 Августа 2009

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

    +17

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    unsigned long f( unsigned long a ) {
     while( (1 << 24) < a )
      a -= (1 << 24);
     return a;
    }

    Найден в дебрях старого проекта. Цель непонятна. Предположение -- обнулить старших 8-мь бит в 32-х битовом числе.

    eao197, 13 Августа 2009

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

    +107.5

    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
    /// <summary>
            /// Check if this char is digit
            /// </summary>
            /// <param name="symbol">Some char</param>
            /// <returns>True if is digit</returns>
            private static bool IsDigit(char symbol)
            {
                List<char> digits = new List<char>();
                digits.Add('0');
                digits.Add('1');
                digits.Add('2');
                digits.Add('3');
                digits.Add('4');
                digits.Add('5');
                digits.Add('6');
                digits.Add('7');
                digits.Add('8');
                digits.Add('9');
                return digits.Contains(symbol);
            }

    так сказать код от велосипедиста, сделал свой IsDigit() хотя уже есть char.IsDigit()

    sv219, 13 Августа 2009

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ( in_array($str, $first) )
    {
        for ( $j = 0; in_array($str . substr("000000000", 0, 9 - strlen("$j")) . $j, $first); ++$i );
        $str = $str . substr( "000000000", 0, 9 - strlen("$j") ) . $j;
    }

    что этот код делает?

    HOmerrt, 13 Августа 2009

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?php
     $dPh = fopen("photos.cfg", "r");
     while (($aCrow = fgetcsv($dPh, 0, "|", "}")) !== FALSE){
    	$sNof = explode(".", $aCrow[0]);
    	echo "<a href='photo/_html/show.php?ph=$sNof[0]'>\n";
    	echo "\t<img src='photo/_thumbs/$aCrow[0]' alt='$aCrow[1]'>\n";
    	echo "</a>\n";
     }
    ?>

    Скрипт, который создаёт превьюшки со ссылками для фотогаллереи.
    photos.cfg - содержит строки вида: Имя_файла.jpg|Описание, которое видит пользователь.
    show.php - отдельная тема.

    Ambilight, 13 Августа 2009

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

    +153

    1. 1
    2. 2
    $procs=explode('
    ',$procs);

    Отлавливаем перевод строки.
    Не знаю даже говнокод ли это. Это срабатывает в тех случаях когда \r, \n, \r\n бессильны.

    random2, 13 Августа 2009

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

    +153.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?php
            /* ... */
    	$sbj->hasNewMsgs = false;
    	if (User::isLogged()) {
    if (0) {
    		if (/* Condition */) {
    			$sbj->hasNewMsgs = true;
    		}
    }
    	}
            /* ... */
    ?>

    Пишу форум. Выкладываю в публичный доступ более менее стабильную версию. Обнаруживается баг: «когда в теме есть новые сообщения — она не помечается, хотя категория, которая её содержит — помечается, как "с новыми сообщениями"». Неделю ленюсь залезть в исходники, найти, где же этот баг закрался (представляя, сколько кода надо перелопатить). Таки зашёл и сразу к модели, а там...
    Видно, дебажил и забыл убрать «экранизацию»

    Shock, 12 Августа 2009

    Комментарии (8)
  8. ActionScript / Говнокод #1560

    −129.7

    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
    // method that break down the application
    public function hide():void
    {
    	try
    	{
    		removeMenu();
    		TextField(txtTitle).text = '';
    		// WTF place - this setter raise error
    		TextArea(txt).htmlText = '';
    	} catch (e:Error) {
    		// russians are not surrender!
    		// catch error and call them recursively
    		trace(e);
    		hide();
    	}
    }

    Затыкание метода, выбрасывающего трудноуловимый эсксепшн

    remoteobject, 12 Августа 2009

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

    +8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    //retrive the weather file
        QProcess* process = new QProcess(this);
        QString command = "wget -O " + QDir::homePath() + "/.weather.xml http://weather.yahooapis.com/forecastrss?p=" + zip;
    
        if(tempType == "C")
        {
           command.append("&u=c");
        }
        
        process->start(command);
        process->waitForFinished();
        delete process;

    Учитесь писать переносимый код!

    Sauron, 12 Августа 2009

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

    +160.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if($x){
    		echo ('Да');
    	}elseif(!$x){
    		echo('Нет');
    	}else{
    		echo('Пора.');
    	}

    Очень таинственный код...

    REM99, 12 Августа 2009

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