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

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

    +145

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private TaskScheduler scheduler;
    
      protected TaskScheduler() {
      }
    
      public final TaskScheduler getScheduler() {
        if (this.scheduler == null) {
          this.scheduler = new TaskScheduler();
        }
        return this.scheduler;
      }

    мелочь, а смешно получилось ))

    Lure Of Chaos, 03 Ноября 2010

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

    +183

    1. 1
    table[^>]*((name[^>]*=[^>]*mainTable|id[^>]*=[^>]*mainTable)){1,2}

    also check dis
    http://govnokod.ru/853#comment2667
    рейтинг: −1.8
    "1 за и 0 против"

    tags: stupid regex, regullar expression, govnokod bugs

    3.14159265, 29 Октября 2010

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

    −114

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    bool userNameChanged = true;
      [userName isEqualToString:oldUserName]!=YES;
      bool passwordChanged = true;
      [password isEqualToString:oldPassword]!=YES;
      bool retVal = true;
      if(userNameChanged)
      {
        retVal &= setUserNameInPreferences(userName);
      }

    Чудеса сравнения

    apodrugin, 27 Октября 2010

    Комментарии (2)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)
  11. 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)