1. Java / Говнокод #2652

    +88

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    protected void parseSummaryLines()
            {
                   ...
    
                   // NOTE: First letters are ommited in order to support capitalized words as well
                   final String RESULT_GOOD_TEXT_1 = "othing";    // Nothing
                   final String RESULT_GOOD_TEXT_2 = "uccessful"; // Successful
                   final String RESULT_BAD_TEXT_1 = "assword";    // Password
                   final String RESULT_BAD_TEXT_2 = "failed";     // Failed
    
                   ...
            }

    Сегодня в пласте нашего Java-кода геологи нашли такой вот самородок.

    asolntsev, 22 Февраля 2010

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

    +65.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
    BOOL needToCenter = NO;
    float touchedDistance = [self getTouchedDistance];
    
    if(movedFromX < movedToX)
    {
    	if(!isIncreased)
    	{
    		needToCenter = YES;
    	}
    }
    else
    {
    	if(!isIncreased)
    	{
    		needToCenter = YES;
    	}
    }

    ohoncharuk, 22 Февраля 2010

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

    +164.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
    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
    <?
    
    function gpc_inspector_no_magic($param, $value)
    {	
    	if(substr($param, 0, 4) == 'int_')
    		return intval($value);
    	else
    		{
    			$value = addslashes($value);
    			$value = htmlspecialchars($value, ENT_QUOTES);
    			return $value;
    		}
    }
    
    function gpc_inspector_magic($param, $value)
    {	
    	if(substr($param, 0, 4) == 'int_')
    		return intval($value);
    	else
    		{
    			$value = htmlspecialchars($value, ENT_QUOTES);
    			return $value;
    		}
    }
    
    function gpc_inspector_start(&$super_global)
    {
    	$request_params = array_keys($super_global);
    	$request_values = array_values($super_global);
    	if(get_magic_quotes_gpc())
    		$super_global = array_map('gpc_inspector_magic', $request_params, $request_values);
    	else
    		$super_global = array_map('gpc_inspector_no_magic', $request_params, $request_values);	
    }
    
    gpc_inspector_start($_GET);
    gpc_inspector_start($_POST);
    gpc_inspector_start($_COOKIE);
    
    ?>

    Автор активно борится с кул хацкерами...%)

    funny_rabbit, 21 Февраля 2010

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

    +160.6

    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
    //-----------------------------------------------------------------------------------------------------------------------------------------------------
    <table width="200" border="0" align="center">
    <form action="authorization.php">
    	<tr>
                  <td>Логин</td>
                  <td><input type="text" name="login"></td>
                </tr>
                <tr>
                  <td>Пароль</td>
                  <td><input type="password" name="pass"></td>
                </tr>
    	<tr>
    	    <td><form action="authorization.php" method=get><input type=submit name="sub" value="Войти"></form>
    	</tr>
    </form>
    </table>
    //-----------------------------------------------------------------------------------------------------------------------------------------------------
    <?
    $login=$_REQUEST["login"];
    $pass=$_GET['pass'];
    if ($login=='' or $pass=='') 
    {
    	echo "введены не все данные";
    	echo "<html><body><a href='index.php'>Назад</a></body></html>";
    }
    $e='0';
    $sql="select pass from persons where login='$login'";
    $stmt = OCIParse($conn,$sql);
    $mess = @OCIExecute($stmt);
    if(!$mess)
    { 
    	$error = OCIError($stmt); 
    	echo "Ошибка при выборке данных
           (".$error["message"].")"; 
    } 
    while (OCIFetch($stmt))
    {
    $e=OCIResult($stmt,"PASS");
    }
    //-----------------------------------------------------------------------------------------------------------------------------------------------------
    echo '<tr><td  align=right><center><form action=admin.php method=get><input type=submit value="Администрирование системы"></form></tr>';
    //-----------------------------------------------------------------------------------------------------------------------------------------------------
    ?>

    небольшие кусочки из разных файлов одной системы.

    1_and_0, 21 Февраля 2010

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    var today = new Date();
    var d_names = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
    var m_names = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    var d_postfix = new Array("never_used","st", "nd", "rd", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th", "th", "th");
    document.write(d_names[today.getDay()]+", "+m_names[today.getMonth()]+" "+today.getDate()+d_postfix[today.getDate()]+", "+today.getFullYear());

    Банально, но все равно приятно :)

    wvxvw, 21 Февраля 2010

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

    +114.3

    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
    static void JoinFiles(string FileOne, string FileTwo, string Out)
    		{
    			//declare head size
    			const long HeadSize = sizeof(long) * 4;
    			//get files size
    			long FFS = (new FileInfo(FileOne).Length),
    				  SFS = (new FileInfo(FileTwo).Length);
    			//Full paths of files
    			string FFFN = Path.GetFileName(Path.GetFullPath(FileOne)),
    					 SFFN = Path.GetFileName(Path.GetFullPath(FileTwo));
    			//calculate offsets
    			long FirstFileOffset = HeadSize + FFFN.Length,
    				  FirstFileNameOffset = HeadSize,
    				  SecondFileNameOffset = FirstFileOffset + FFS,
    				  SecondFileOffset = SecondFileNameOffset + SFFN.Length;
    			//declare head
    			byte[] Head = new byte[HeadSize];
    			/*	
    			 *		FFO	FFNO			SFO	SFNO
    			 */
    			//Format head
    			Head = JoinArrays<byte>(BitConverter.GetBytes(FirstFileOffset),
    										 BitConverter.GetBytes(FirstFileNameOffset),
    										 BitConverter.GetBytes(SecondFileOffset),
    										 BitConverter.GetBytes(SecondFileNameOffset));
    			//declare streams
    			System.IO.BinaryReader FBR = new BinaryReader(File.OpenRead(FileOne));
    			System.IO.BinaryWriter BW = new System.IO.BinaryWriter(File.Create(Out));
    			//Write head information
    			foreach (byte b in Head) BW.Write(b);
    			//Write first file name
    			byte[] buffer = System.Text.ASCIIEncoding.ASCII.GetBytes(FFFN);
    			BW.Write(buffer, 0, buffer.Length);
    			//Write first file
    			for (long id = 0; id < FFS; id++) BW.Write(FBR.ReadByte());
    			//Write second file name
    			buffer = System.Text.ASCIIEncoding.ASCII.GetBytes(SFFN);
    			BW.Write(buffer, 0, buffer.Length);
    			//Open second file
    			FBR.Close();
    			FBR = new BinaryReader(File.OpenRead(FileTwo));
    			//Write second file
    			for (long id = 0; id < SFS; id++) BW.Write(FBR.ReadByte());
    			//Save result
    			BW.Flush();
    			//Close streams
    			FBR.Close();
    			BW.Close();
    		}

    Функция склеивания двух файлов. Писал вчера вечером, когда утром посмотрел, я понял что писал я это очень поздно.

    psina-from-ua, 21 Февраля 2010

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

    +124.6

    1. 1
    <td width:6px="">

    Без комментариев...

    TuXAPuK, 21 Февраля 2010

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

    +164.2

    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
    $_GET = array_map('trim', $_GET);
    $_POST = array_map('trim', $_POST);
    $_COOKIE = array_map('trim', $_COOKIE);
    $_REQUEST = array_map('trim', $_REQUEST);
    if(get_magic_quotes_gpc()):
        $_GET = array_map('stripslashes', $_GET);
        $_POST = array_map('stripslashes', $_POST);
        $_COOKIE = array_map('stripslashes', $_COOKIE);
        $_REQUEST = array_map('stripslashes', $_REQUEST);
    endif;
    $_GET = array_map('mysql_real_escape_string', $_GET);
    $_POST = array_map('mysql_real_escape_string', $_POST);
    $_COOKIE = array_map('mysql_real_escape_string', $_COOKIE);
    $_REQUEST = array_map('mysql_real_escape_string', $_REQUEST);

    Нашел в комментах к пхпшной ф-ции mysql_real_escape_string().
    Очевидно, код чешет все суперглобалы на вшивость, чтобы затем можно было механически юзать все "без проверки". Пиздец.

    htmlcoder-exe, 20 Февраля 2010

    Комментарии (8)
  9. JavaScript / Говнокод #2644

    +194.6

    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
    inExp = function (dig, exp) {
    if (exp == 1) return alert(dig);
    if (exp == 2) return alert(dig*dig);
    if (exp == 3) return alert(dig*dig*dig);
    if (exp == 4) return alert(dig*dig*dig*dig);
    if (exp == 5) return alert(dig*dig*dig*dig*dig);
    if (exp == 6) return alert(dig*dig*dig*dig*dig*dig);
    if (exp == 7) return alert(dig*dig*dig*dig*dig*dig*dig);
    if (exp == 8) return alert(dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 9) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 10) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 11) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 12) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 13) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 14) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 15) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 16) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 17) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 18) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 19) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 20) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 21) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 22) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 23) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 24) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 25) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 26) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 27) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 28) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 29) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    if (exp == 30) return alert(dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig*dig);
    }

    Возведение числа в степень

    fuckyounoob, 20 Февраля 2010

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

    +69.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
    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
    #include <iostream>
    using namespace std;
    class MyException
    {
    public:
    	MyException(char *msg) { m_msg = msg; }
    	~MyException(){}
    	char *GetError(){return m_msg;}
    protected:
    	char *m_msg;
    };
    
    int main()
    {
    	int *buffer;
    	try
    	{
    		buffer = new int[255];
    		if (buffer == NULL)
    		{
    			MyException *exception = 
    					new MyException("Memory allocation failed!");
    			throw exception;
    		}
    		else
    			delete buffer;
    	}
    	catch (MyException *exception)
    	{
    		char *msg = exception->GetError();
    		cout << msg << endl;
    	}
    return 0;
    
    }

    Книга "Использование Viusal C++" Кейт Грегори. Глава 24 о предотвращении утечек памяти и работе с исключениями.

    ccoder, 20 Февраля 2010

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