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

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

    +80

    1. 1
    2. 2
    3. 3
    String[] months = {"january", "february" ,"march" ,"april" ,"may" ,"june" ,"july" ,"august" ,"september" ,"october" ,"november" ,"december"};
    		SimpleDateFormat sdf = new SimpleDateFormat("MM");
    		String month = months[Integer.decode(sdf.format(date.getTime())) - 1];

    Пример паттерна Детонатор: Integer.decode падает начиная с 08го месяца, ожидая 8ю систему

    welvet, 02 Августа 2010

    Комментарии (2)
  3. JavaScript / Говнокод #3849

    +161

    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
    function doIframe(){
    	o = document.getElementsByTagName('iframe');
    	for(i=0;i<o.length;i++){
    		if (/\bautoHeight\b/.test(o[i].className)){
    			setHeight(o[i]);
    			addEvent(o[i],'load', doIframe);
    		}
    	}
    }
    
    function setHeight(e){
    	if(e.contentDocument){
    		e.height = e.contentDocument.body.offsetHeight + 35;
    	} else {
    		e.height = e.contentWindow.document.body.scrollHeight;
    	}
    }
    
    function addEvent(obj, evType, fn){
    	if(obj.addEventListener)
    	{
    	obj.addEventListener(evType, fn,false);
    	return true;
    	} else if (obj.attachEvent){
    	var r = obj.attachEvent("on"+evType, fn);
    	return r;
    	} else {
    	return false;
    	}
    }
    
    if (document.getElementById && document.createTextNode){
     addEvent(window,'load', doIframe);	
    }

    http://www.lost-in-code.com/wp-content/projects/auto-iframe-height/jquery.autoheight.js

    striker, 02 Августа 2010

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

    +66

    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
    1. import java.security.MessageDigest;
       2. import java.security.NoSuchAlgorithmException;
       3.  
       4. public final class MD5Util {
       5.   public static final int MASK = 0xff;
       6.   public static final int RADIX = 16;
       7.  
       8.   private MD5Util() {
       9.   }
      10.  
      11.   public static String encrypt(String str) {
      12.     try {
      13.       MessageDigest md = MessageDigest.getInstance("MD5");
      14.       md.update(str.getBytes());
      15.       return byteToHexString(md.digest());
      16.     } catch (NoSuchAlgorithmException e) {
      17.       //doing smth
      18.     }
      19.   return null;
      20.   }
      21.  
      22.   public static String encrypt(byte[] data) {
      23.     try {
      24.       MessageDigest md = MessageDigest.getInstance("MD5");
      25.       md.update(data);
      26.       return byteToHexString(md.digest());
      27.     } catch (NoSuchAlgorithmException e) {
      28.       //doing smth
      29.     }
      30.     return null;
      31.   }
      32.  
      33.   public static String byteToHexString(byte[] hash) {
      34.     StringBuffer buf = new StringBuffer(hash.length * 2);
      35.  
      36.     for (byte b : hash) {
      37.       if ((b & MASK) < RADIX) {
      38.         buf.append("0");
      39.       }
      40.  
      41.       buf.append(Long.toString(b & MASK, RADIX));
      42.     }
      43.  
      44.     return buf.toString();
      45.   }
      46. }

    hromjo, 01 Августа 2010

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

    +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
    // в данном случае count($xls_data) не подойдет, потому что
    // он меньше изза того что индексы не всегда по +1 идут
    end($xls_data);
    list($xls_dataCount,$unused) = each($xls_data);
    
    // тут некоторый код, тоже пахнет
    
    for($i = 3; $i <= $xls_dataCount; $i++){
    	$row = $xls_data[$i];
    	if(count($row) == 1 && $estnames[$row[1]])$ename = $row[1];
    	else{
    		foreach($years as $yindex => $year)
    			$data[$ename][$row[1]][$year] = $row[$yindex];
    	}
    }

    Сижу и ковыряюсь в говнице, по уши увяз((((

    asics, 30 Июля 2010

    Комментарии (2)
  6. Java / Говнокод #3824

    +75

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    PriceWithInterval pwi = new PriceWithInterval();
                pwi.setPrice(p);
                pwi.setStart(dateFormat.parse(dateFormat.format(p.getStartDate())).getTime());
                Long endTm = dateFormat.parse(dateFormat.format(p.getEndDate())).getTime();
                //Больше 50 лет - техническая бесконечность
                if (((endTm-pwi.getStart())/1000/3600/24/365)>50)
                {
                    endTm = dateFormat.parse("31.12.9999").getTime();
                }
    
                // Где dateFormat объявлен как
                new SimpleDateFormat("dd.MM.yyyy");

    Вот такое вот масло масляное. Думается, что этот трюк применён здесь для того, чтобы получить начало дня. Чем не устраивает Calendar, неясно. Ну в крайнем случае, можно было целочисленно поделить и умножить на 1000 * 3600 * 24. Ну и вычисление в общем-то константной "технической бесконечности" радует неимоверно.

    konsoletyper, 30 Июля 2010

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

    +161

    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
    function posit(texta,  textb)
    {
    	texta = texta + "";
    	return texta.indexOf(textb+"");
    }
    function trimme(texta)
    {
    	var trimming = true;
    	while(trimming == true)
    	{
    		if((posit(texta, "  ")+1)>0)
    		{
    			texta = texta+" ";
    			texta = texta.substr(0, posit(texta, "  "));	
    		}
    		if((posit(texta, "  ")+1) == 0)
    		{
    			trimming = false;
    		}
    	}
    	return texta;
    }

    Тихий ужас

    XyHb, 29 Июля 2010

    Комментарии (2)
  8. Си / Говнокод #3816

    +100

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    f = fopen(file_name, "w");
    if (!f) {
      f = fopen(file_name, "w+");
      if (!f)
        logprintfl(EUCAWARN, "Cannot create %s!\n", file_name);
      else {
        len = fileno(f);
        if (len > 0)
          fchmod(len, S_IRUSR|S_IWUSR);
      }
    }

    Суровые калифорнийские парни сурово создают суровые файлы...

    raorn, 29 Июля 2010

    Комментарии (2)
  9. PHP / Говнокод #3803

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (($state_client=='DEL')||(empty($descr)))
    	print "<!--";
    ?>
    тут код HTML всякий с использованием <?=$var?> и прочей красоты
    <?
    if (($state_client=='DEL')||(empty($descr)))
    	print "-->";

    В описании не нуждается

    Werdn, 28 Июля 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    # Подключаем MySQL класс
    a_import('libraries/mysql');
    $db = new MySQL();
    $db->debugging = TRUE;
    $db->connect();
    $db->charset('utf8');

    Код взят из CMS http://mobilecms.ru/

    Нет чтобы объявить свойства приватными, а начальные параметры передать в конструктор

    Aligan, 28 Июля 2010

    Комментарии (2)
  11. PHP / Говнокод #3781

    +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
    $query = "
    	SELECT 	packet, info FROM packet ORDER BY info";
    $result = mysql_query($query);
    while ($row = mysql_fetch_array($result)) /* Тут очень много строк */
    {
    	/*Тут один очень жирный запрос*/
    	/* ... */
    	$res8 = mysql_query("SELECT date FROM analiz_packet2 WHERE date='$dnow' LIMIT 1");
    		
    	if (mysql_num_rows($res8) == 0)
    	{
    		echo "<td align=right>{$r[2]}</td>";
    	}
    	
    	echo "<td align=right>{$r[3]}</td>";
    	
    	$res2 = mysql_query("SELECT date FROM analiz_packet2 WHERE date='$dnow' LIMIT 1	");
    	/* Unknown date */
    	if (mysql_num_rows($res2) == 1)
    	{
    		/*Тут еще несколько SQL запросов*/
    	}
    	
    	/* ... */
    }

    Два ядра грузятся на 178% по данным top-а

    Werdn, 26 Июля 2010

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