1. Лучший говнокод

    В номинации:
    За время:
  2. C# / Говнокод #8471

    +121

    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
    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    	if ((textBox1.Text + textBox2.Text).Length + 1 > 255)
    	{
    		textBox1.BackColor = Color.LightPink;
    		textBox2.BackColor = Color.LightPink;
    	}
    	else
    	{
    		textBox1.BackColor = Color.White;
    		textBox2.BackColor = Color.White;
    	}
    
    	if ((textBox3.Text + textBox6.Text).Length + 1 > 255)
    	{
    		textBox3.BackColor = Color.LightPink;
    		textBox6.BackColor = Color.LightPink;
    	}
    	else
    	{
    		textBox3.BackColor = Color.White;
    		textBox6.BackColor = Color.White;
    	}
    }
    
    private void bntSave_Click(object sender, EventArgs e)
    {
    	if (textBox1.BackColor == Color.LightPink)
    	{
    		MessageBox.Show("Длинна полей От и Адрес в сумме не должна превышать 255");
    		return;
    	}
    	if (textBox3.BackColor == Color.LightPink)
    	{
    		MessageBox.Show("Длинна полей Кому и Адрес в сумме не должна превышать 255");
    		return;
    	}
    
    	Properties.Settings.Default.Save();
    	Navigator.Navigate(new ConfigMenuPage());
    }

    ТЗ: "Суммарная длина полей X и Y не должна превышать 255 символов"
    Решение шедеврально как по вычислению длинны суммы строк, так и по цветовой идентификации :)

    ddv_demon, 10 Ноября 2011

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public function addOffer($type='vendor.model', $values) {
        switch ($type) {
          case 'vendor.model': $offer = new yml_type_vendor_model(); break;
          }
        // Заполняем значениями
        $offer->setValues($values);
       ......

    jonnywalker, 10 Ноября 2011

    Комментарии (7)
  4. JavaScript / Говнокод #8465

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    var howMany = 3
    function rndnumber(){
    var randscript = -1
    while (randscript < 0 || randscript > howMany || isNaN(randscript)){
    randscript = parseInt(Math.random()*(howMany+1))
    }
    return randscript
    }

    AjiTae, 09 Ноября 2011

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

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    class Object 
    { 
      #ifdef EDITOR_MODE 
      wchar[] name; 
      #endif
    
      UINT[] id;  // {21,64,567} 
    public: 
      UINT GetID(){return id[0];}; 
      UINT GetParentID(){return id[1];}; 
    };

    AnimeGovno-_-, 06 Ноября 2011

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

    +162

    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
    /**/
    	TCHAR* szFileType = _T("");
    	int ftype = JGetByte( hContact, "AvatarType", PA_FORMAT_UNKNOWN );
    	if( ftype == PA_FORMAT_UNKNOWN ) {
    		WIN32_FIND_DATA ffd;
    		HANDLE hFind = FindFirstFile( ptszDest, &ffd );
    		if ( hFind != INVALID_HANDLE_VALUE ) {
    			wchar_t* szExt = m_strrchrs( ffd.cFileName, ".\\" );
    			if( szExt ) {
    				if( !_tcsicmp( szExt, _T(".jpg") ) )
    					ftype = PA_FORMAT_JPEG;
    				else if( !_tcsicmp( szExt, _T(".png") ) )
    					ftype = PA_FORMAT_PNG;
    				else if( !_tcsicmp( szExt, _T(".gif") ) )
    					ftype = PA_FORMAT_GIF;
    				else if( !_tcsicmp( szExt, _T(".bmp") ) )
    					ftype = PA_FORMAT_BMP;
    				if( ftype != PA_FORMAT_UNKNOWN )
    					JSetByte( hContact, "AvatarType", ftype );
    			}
    			FindClose( hFind );
    		}
    	}
    	switch( ftype ) {
    		case PA_FORMAT_JPEG: szFileType = _T("jpg");   break;
    		case PA_FORMAT_PNG:  szFileType = _T("png");   break;
    		case PA_FORMAT_GIF:  szFileType = _T("gif");   break;
    		case PA_FORMAT_BMP:  szFileType = _T("bmp");   break;
    	}

    http://infium.googlecode.com/svn/trunk/Jabber/jabber_misc.cpp

    bot-minurast, 03 Ноября 2011

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //левое меню
    
    $stra=str_replace("/text.php?id=","",$_SERVER['REQUEST_URI']);//узнаём название страницы
    
    $sql2 = "SELECT * FROM `$pref"."left_menu` where `id`='$stra'";

    "Цитата" из самописного движка

    antongorodezkiy, 30 Октября 2011

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

    +162

    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
    //записали значения, от которых отталкиваться будем. Типа первые значения. Почти повторяют столбцы в таблице
    $maxv1=303268.26141;
    $maxv2=0;
    $maxv3=0;
    $maxm1=294798.84277;
    $maxm2=0;
    $maxm3=0;
    $maxq=10067.89169;
    
    //а теперь финт ушами - находим сумму полей в таблице
    $thisres = mysql_db_query($base, "select * from $Tablename[3]", $link);
    while ($thisrow = mysql_fetch_array($thisres)) {
    	$maxv1+=0+(float)$thisrow['v1'];  //самая прекрасная часть
    	$maxv2+=0+(float)$thisrow['v2'];
    	$maxv3+=0+(float)$thisrow['v3'];
    	$maxm1+=0+(float)$thisrow['m_in'];
    	$maxm2+=0+(float)$thisrow['m_out'];
    	$maxm3+=0+(float)$thisrow['m3'];
    	$maxq+=0+(float)$thisrow['q'];
    }
    //и так еще 2 таблицы складываются

    Шедевр выдран из творения моего коллеги. Комментарии мои. Задача - найти разницу по каждому полю между двумя последними записями в таблице и результат записать в другую таблицу.

    zloiia, 30 Октября 2011

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

    +78

    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
    public Date localTimeToUTC(final Date localTime) {
    	final DateFormat format = DateFormat.getDateTimeInstance();
    	format.setTimeZone(UTC);
    	
    	// This is a bit of a trick. Since Java assumes dates are in UTC,
    	// but localTime is not (blame the weird legacy database...),
    	// it's a semantically incorrect Date. Therefore we process it as
    	// if it's in UTC...
    	final String formatted = format.format(localTime);
    	
    	format.setTimeZone(localTimeZone);
    	
    	try {
    		return format.parse(formatted);
    	} catch (final ParseException e) {
    		throw new AssertionError(e); // cannot happen
    	}
    }

    И вновь издержки обратной совместимости. Китайские кулибины хранили DateTime в старой базе в локальном часовом поясе.

    lucidfox, 26 Октября 2011

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

    +159

    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
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    echo "<center><br><br><form method=\"POST\" action=\"\">
      <select name=\"Data\">";
    $query="SELECT dtDate FROM Energo ORDER BY dtDate Desc"; 
    $res=mssql_query($query) or die("Ошибка запроса!"); 
    while($row = mssql_fetch_array($res))
    {
    echo "
      <option>".$row['dtDate']."</option>";
    }
    echo "</select>
      <input value=\"OK\" type=\"submit\">
    </form><center>";
    
    if(!empty($Data))
    	{
    	echo "<br><br><center><span style=\"font-weight: bold;\">Справка</span><br style=\"font-weight: bold;\">
            <span style=\"font-weight: bold;\">по ..... по состоянию на $Data г.<br><br>";
    		require_once ("tablebuh.lpd");
    		echo "<center><br><br>
    Начальник %Отдел% <img style=\"width: 50%;\"
     alt=\"\" src=\"podpis.gif\" align=\"middle\">
    К***в Н.А.<br><br>
    </center>"; 
    	}
    	
    else
    	{
    	echo "<form method=\"POST\" action=\"\">";
    	echo "<br><br><center><span style=\"font-weight: bold;\">Справка</span><br style=\"font-weight: bold;\">
            <span style=\"font-weight: bold;\">по .... по состоянию на ";
    	$query="SELECT dtDate FROM Energo WHERE id='1'"; 
    	$res=mssql_query($query) or die("Ошибка запроса!"); 
    	while($row = mssql_fetch_array($res)) 
    		{ 
    			$Data=$row['dtDate'];
    			echo $row['dtDate']."<br><br>";
    			require_once ("tablebuh.lpd");
    			echo "</center>"; 
    		}
    	echo "<center><br>
    Начальник %Отдел% <img style=\"width: 50%;\"
     alt=\"\" src=\"podpis.gif\" align=\"middle\">
    К***в Н.А.<br><br>
    ";
    
    //А вот и сам tablebuh.php
    
    <?php
    if(empty($Data))
    {
    require_once ("t2.php");
    }
    else 
    {
    require_once ("t1.php");
    }

    Хах, первый вопрос который задал себе, не пьян ли я был тогда=)
    Самое забавное, в течении 4 месяцев директор не имел никаких претензий по поводу одной и той же информации ежедневно=)

    LazyPiG, 21 Октября 2011

    Комментарии (7)
  11. 1C / Говнокод #8241

    −137

    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
    Для Каждого Стр0 из ДеревоНаФорме.Строки Цикл
    		Сум0 =0;
    	Для Каждого Стр1 из	Стр0.Строки Цикл
    		Сум1 =0;
    		Для Каждого Стр2 из Стр1.Строки Цикл;
    			 Попытка
    		Стр2.СуммаВсего = Стр2.Количество * Стр2.Нормочасы*ЦенаНормочаса *(1-Стр2.СкидкаНаРаботы/100)+ Стр2.Количество * Стр2.Цена *(1-Стр2.СкидкаНаЗапчасти/100) ;
    		Стр2.СтоимостьУстановки = Стр2.Количество * Стр2.Нормочасы*ЦенаНормочаса;		
    				Сум1=Сум1+ Стр2.СуммаВсего;
    		 	 исключение КонецПопытки;
    		 КонецЦикла;
    		 Стр1.СуммаВсего = Сум1;
    		 Сум0 = Сум0+Сум1;
    	 КонецЦикла;
    	 Стр0.СуммаВсего = Сум0; 
    КонецЦикла;

    Умопомрачительный подсчёт итога по колонке "СуммаВсего" в дереве.
    ДеревоНаФорме - дерево на форме. При интеркативном изменении числовых реквизитов - пересчитывается строка, но! на всякий случай здесь - в Попытке-Исключении пересчитываем СуммуВсего по строке ещё раз... Ну и конечно порадовала изящность конструкции....

    Pauchog, 19 Октября 2011

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