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

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

    +117

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    widgetPanel.ID = new Guid(String.Format("{0:D32}", widgetInfo.Id));
    
    // в другом месте
    
    var widgetId = Convert.ToInt32(widgetPanel.ID.ToString().Replace('-', '0').TrimStart('0'));

    Как узнать что именно надо класть на панель?
    Очень просто - брать ее id типа Guid, а искать в списке классов с id типа int

    Разумеется, никто не запрещал сделать что бы оба были guid, но это же совершенно не интересно.

    eval_2009, 21 Октября 2010

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

    +160

    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
    class XXX
    {
    	function _item()
    	{
    		return $this->val = substr(__FUNCTION__,1);
    	}
    
    	function _lister()
    	{
    		return $this->val = substr(__FUNCTION__,1);
    	}
    
    	function item()
    	{
    		return ($this->val === __FUNCTION__);
    	}
    
    	function lister()
    	{
    		return ($this->val === __FUNCTION__);
    	}
    
    	function __construct()
    	{
    		$this->_lister();
    	}
    }

    В прицнипе пофиг что оно делает. Но смотреть без слез, имхо нельзя :)

    grelkin, 21 Октября 2010

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

    +77

    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
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    @Entity
    @Table(name = "datastore")
    public final class Datastore
    {
     @SequenceGenerator(name="SEQ_GEN", sequenceName="entity_id_seq", allocationSize = 1)
     @Id  
     @GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "SEQ_GEN")
     private long entityid;
     public float  capacity;
     public String name;
     public float  usage;
     public short vendor;
     public short state;
     public short health;
     public short vmson;
     public short vmsother;    
    
     @Transient private String uuid;
    
     @Override public String toString() {
      return String.format("Datastore{entityid=%d, capacity=%f, health=%d, name='%s', state=%d, usage=%f, vendor=%d, vmson=%d, vmsother=%d}", 
       entityid,
       capacity,
       health,
       name,
       state,
       usage,
       vendor,
       vmson,
       vmsother);
     }
    
     public long getEntityid() {
      return entityid;
     }
     public void setEntityid(long entityid) {
      this.entityid = entityid;
     }
     public float getCapacity() {
      return capacity;
     }
     public void setCapacity(float capacity) {
      this.capacity = capacity;
     }
     public String getName() {
      return name;
     }
     public void setName(String name) {
      this.name = name;
     }
     public float getUsage() {
      return usage;
     }
     public void setUsage(float usage) {
      this.usage = usage;
     }
     public short getVendor() {
      return vendor;
     }
     public void setVendor(short vendor) {
      this.vendor = vendor;
     }
     public short getState() {
      return state;
     }
     public void setState(short state) {
      this.state = state;
     }
     public short getHealth() {
      return health;
     }
     public void setHealth(short health) {
      this.health = health;
     }
     public short getVmson() {
      return vmson;
     }
     public void setVmson(short vmson) {
      this.vmson = vmson;
     }
     public short getVmsoff() {
      return vmsother;
     }
     public void setVmsoff(short vmsoff) {
      this.vmsother = vmsoff;
     }
     
     @Transient public void   setUuid(String value) { this.uuid = value; }
    }

    Вот так жесткие швейцарские кодеры объявляют persistent beans.
    Самый отжиг это не pubilc fields дублированные с getters/setters, а setter помеченный @Transient

    galak, 18 Октября 2010

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

    +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
    public function getOwnTimeFromTime($_site_end_time , $timeSyncOk = false)
    {
            $_site_end_time_msk = strtotime($_site_end_time);
            $_site_end = date('Y-m-d H:i:s', $_site_end_time_msk);
            
            $iter = 0;
            
            preg_match ("|(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)|usi",$_site_end_time, $_Time1);
    
            do {    
                $date2 = mktime($_Time1[4], $_Time1[5], $_Time1[6], $_Time1[2], $_Time1[3], $_Time1[1]);
                
                if ((($_site_end_time_msk - $date2) == 3*60*60) || (($_site_end_time_msk - $date2) == 4*60*60)) {
                    $timeSyncOk = true;
                }                                       
                $iter++;                    
                
            } while ($iter<=20 && $timeSyncOk==false);
                  
            if ($timeSyncOk==false) {
    
                $_site_end = date("Y-m-d H:i:s", parseDatetime($_site_end_time));
            }
            
            return $_site_end;
    }

    Шаманство

    minisot, 18 Октября 2010

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

    +153

    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
    <script type="text/javascript">
    	// <![CDATA[
    	var tid=1429594;
    
    	var arr;
    	arr = new Array();var k=0;
    
    	var test;
    	function requestThread(pin) {
    		if (document.getElementById('p'+pin)) {
    			$('#t'+pin).html('<font color="#2255EE"><b>'+$('#t'+pin).html()+'</b></font>');
    			$.post('./lbitcomment.php', {u: 'http://site.livejournal.com/1429594.html?format=light&thread='+pin, i: $('#p'+pin).val()}, function (data)
    			{
    				$('#t'+pin).html(data);
    				p=p+1
    				while ((!document.getElementById('t'+arr[p])) && (p<=k)) 
    					p++;
    				if (p<=k) {
    					requestThread(arr[p]);
    				}
    				return;
    			});
    		} else {
    			p=p+1;
    			if (p<=k) 
    				requestThread(arr[p]);
    		}
    	return;
    	}
    
    	p=1;
    	$(document).ready(function(){
    		requestThread(arr[1]);	
    	});
    	
    
    	// ]]>
    	</script>

    Скрипт для разворачивания комментов ЖЖ ( http://www.hex.su/tools/open-thread/ ) добавляет в страницу такой вот код.

    seonull, 11 Октября 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <!--<?php if( $updatesData[ $updateCol->getId() ]['remainingToIndex'] < 10 ): ?>
        <?php $indexedToday = $updatesData[ $updateCol ]['remainingToIndex']; ?>
    <?php else: ?>
        <?php $indexedToday = rand( 5, $updatesData[ $updateCol ]['remainingToIndex'] ); ?>
    <?php endif; ?>-->

    Закомментировал.

    user654321, 11 Октября 2010

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    //Global definitions
    //Joomla framework path definitions
    $parts = explode( DS, JPATH_BASE );
    
    //Defines
    define( 'JPATH_ROOT',			implode( DS, $parts ) );

    Joomla! 1.5.21
    Файл: includes/defines.php

    sectus, 11 Октября 2010

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

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function tv_cat(iz){
    if (iz%2==0)
    {
    	document.getElementById("cat_tv_header3").innerHTML=
    		"<a href='#'  onclick=' javascript: tv_cat(1);'><img src='/img2/but_tv.gif' width='142' height='30' border='0'>";
    }
    else
    {
    	document.getElementById("cat_tv_header3").innerHTML=
    		"<a href='#'  onclick= javascript: tv_cat(2);'><img src='/img2/but_catalog.gif' width='142' height='30' border='0'>";
    }
    }

    "рекурсия", епт

    xXx_totalwar, 07 Октября 2010

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

    +169

    1. 1
    eval(handler.replace(/this/g,'document.getElementsByTagName("A")'));

    Вот такая вот альтернатива для Function.prototype.call

    eval, 16 Сентября 2010

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

    −118

    1. 1
    Order by SYSDATE - NVL(p_date, created)

    Сортировка по дате в обратном порядке

    korvald, 10 Сентября 2010

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