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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. Ruby / Говнокод #8239

    −99

    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
    def self.find_or_create params
      if params[:rule_id].present?
        rule = new_from_params params
        return nil if rule.nil?
        parent_rule = Rule.find_by_id params[:rule_id]
    
        if parent_rule and Rule.calc_md5(rule.to_hash) == parent_rule.crc
          parent_rule.rule_id = parent_rule.id
          parent_rule.grouped_by = rule.grouped_by
          parent_rule.sorted_by = rule.sorted_by
          parent_rule.save
          return parent_rule
        end
        rule_id = params.delete :rule_id
      end
    
      params = clear_and_sort params
      if (rule = Rule.find_by_crc(Rule.calc_md5(params))).present?
        rule.rule_id = rule_id
        rule.grouped_by = params[:grouped_by]
        rule.sorted_by = params[:sorted_by]
        rule.save
      else
        rule = new_from_params params.merge(:rule_id => rule_id)
        rule.save
      end
      rule
    end

    Метод модели, используется для поиска, создания и чего-то еще...

    emerald, 19 Октября 2011

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

    +85

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    try {
    	   keySpec = new PBEKeySpec(s.toCharArray());
    	   tempKey = SecretKeyFactory.getInstance(ALGORITHM).generateSecret(keySpec);
         } catch (InvalidKeySpecException i) {}
    
    if(tempKey == null) {
          keySpec = new PBEKeySpec(s.toCharArray());
          tempKey = SecretKeyFactory.getInstance(ALGORITHM).generateSecret(keySpec);
    }

    Будь настойчив и не сдавайся!!!!

    kibberpunk, 18 Октября 2011

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