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

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

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    getText( 
    							
    							
    		wifiStates[ 
    		           Settings.getLocationService( ) == null || !Settings.isCellConfigEnabled( ) ? LED_OFF
    							: Settings.isNetworkLocationEnabled( ) ? LED_ON
    									: LED_ERROR 
    				  ] ), Toast.LENGTH_SHORT )
    					.show( );

    Кусочек кода из приложения для андроида, которое придется поддерживать.... 0_0

    exeed, 02 Сентября 2011

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

    +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
    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
    public class LoadManager
    {
        public static Integer DEFAULT_MAX_LOAD_COUNTER = 2;
    
        private ConcurrentHashMap<Class, Integer> loadCounters = new ConcurrentHashMap<Class, Integer>();
    
        public void incLoadCounter(Class clazz)
        {
            synchronized (loadCounters)
            {
                if (!loadCounters.containsKey(clazz))
                {
                    loadCounters.put(clazz, 0);
                }
    
                if (loadCounters.get(clazz) <= DEFAULT_MAX_LOAD_COUNTER)
                {
                    loadCounters.put(clazz, loadCounters.get(clazz) + 1);
                }
            }
        }
    
        public void testLoadCounterAndWait(Class clazz)
        {
            synchronized (loadCounters)
            {
                if (!loadCounters.containsKey(clazz))
                {
                    loadCounters.put(clazz, 0);
                }
            }
            
            try
            {
                while (loadCounters.get(clazz) > DEFAULT_MAX_LOAD_COUNTER)
                {                
                    Thread.sleep(3000L + (long)Math.floor(5000 * Math.random()));
                }
            }
            catch (InterruptedException e) {}        
        }
    
        public void decLoadCounter(Class clazz)
        {
            synchronized (loadCounters)
            {
                if (!loadCounters.containsKey(clazz))
                {
                    loadCounters.put(clazz, 0);
                }
    
                if (loadCounters.get(clazz) > 0)
                {
                    loadCounters.put(clazz, loadCounters.get(clazz) - 1);
                }
            }
        }
    }

    Наверное, нужно было вот это: http://download.oracle.com/javase/1,5.0/docs/api/java/util/concurrent/Semaphore.html
    Ну и ещё порадовал способ постановки потоков в "очередь".

    konsoletyper, 17 Августа 2011

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

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public class Settings {
    
    	public static String CURRENCY = "руб.";
    	
    	public static void setCurrency(String currency) {
    		CURRENCY = currency != null ? currency : "руб.";
    	}
    	
    }

    Мой проект. Можно ли считать это ГК?

    tir, 11 Августа 2011

    Комментарии (243)
  5. Java / Говнокод #7417

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public Boolean isOdd(int par) {
      Boolean ret=true;
      if(par%2==0)
       ret=false;
      else
       ret=true;
      return ret;
     }

    Narekgevorgyan90, 02 Августа 2011

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

    +78

    1. 1
    2. 2
    3. 3
    private String createJndiName(Class homeClass) {
            return "ejb/" + homeClass.getName().replace(".".charAt(0), "/".charAt(0));
    }

    no comments

    roman-kashitsyn, 12 Июля 2011

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

    +78

    1. 1
    public Boolean checkPermission(String login, Integer nIdObject, String sObjectSSCode, Integer nIdOperation, String sOperationSSCode, String sSubsystemCode)

    Вот так Windows разъедает мозг разработчиков. Венгерская запись прокралась в Java-код. Да и Boolean с Integer не совсем в тему.
    И, конечно, метод нужно было назвать

    hasPermission
    .

    roman-kashitsyn, 27 Июня 2011

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

    +78

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if (searchFB.getOrderNo()!=null && searchFB.getOrderNo().length()==6){
        int drawingStatus = searchFB.getDrawingStatus();
        int criticalStatus = searchFB.getCriticalStatus();
        int blockingStatus = searchFB.getBlockingStatus();
        int suspensionStatus = searchFB.getSuspensionStatus();
    
        searchFB.setDrawingStatus(drawingStatus);
        searchFB.setCriticalStatus(criticalStatus);
        searchFB.setBlockingStatus(blockingStatus);
        searchFB.setSuspensionStatus(suspensionStatus);
    }

    И это мне поддерживать...

    TC1, 16 Июня 2011

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

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static DBFactory getInstance() throws SQLException
    	{
    		synchronized (DBFactory.class)
    		{
    			        if (_dbinstance == null)
    				_dbinstance = new DBFactory();
    		}
    		return _dbinstance;
    	}

    Серийный и беспощадный доступ к инстансу ДБ-Фэктори -_-
    Причем, данный код фурычит в многопоточной среде, где порой по 20-30 потоков одновременно обращаются к Фэктори, чтобы взять коннект с пула.

    VirtualVoid, 27 Мая 2011

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

    +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
    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
    String Pushkin() {
    
        java.util.Random random = new java.util.Random((long) new java.util.Date().getTime());
            String col0s = null, col1s = null, col2s = null, col3s = null, col4s = null, col5s = null, col6s = null, col7s = null, col8s = null, col9s = null;
    
            String sp = "\u0020";
            int col0, col1, col2, col3, col4, col5, col6, col7, col8, col9;
    
            col0 =random.nextInt(10);
            col1 = random.nextInt(10);
            col2 = random.nextInt(10);
            col3 = random.nextInt(10);
            col4 = random.nextInt(10);
            col5 = random.nextInt(10);
            col6 = random.nextInt(10);
            col7 = random.nextInt(10);
            col8 = random.nextInt(10);
            col9 = random.nextInt(10);
    
            switch (col0) {
                case 0:
                    col0s = "Я помню"; break;
                case 1:
                    col0s = "Не помню";break;
                case 2:
                    col0s = "Забыть бы";break;
                case 3:
                    col0s = "Купите";break;
                case 4:
                    col0s = "Очкуешь";break;
                case 5:
                    col0s = "Какое";break;
                case 6:
                    col0s = "Угробил";break;
                case 7:
                    col0s = "Хреново";break;
                case 8:
                    col0s = "Открою";break;
                case 9:
                    col0s = "Ты чуешь?";break;
            }
    
    // ...
    
            switch (col9) {
                case 0:
                    col9s = "красоты";break;
                case 1:
                    col9s = "мерзлоты";break;
                case 2:
                    col9s = "суеты";break;
                case 3:
                    col9s = "наркоты";break;
                case 4:
                    col9s = "срамоты";break;
                case 5:
                    col9s = "школоты";break;
                case 6:
                    col9s = "типа ты";break;
                case 7:
                    col9s = "простоты";break;
                case 8:
                    col9s = "хреноты";break;
                case 9:
                    col9s = "наготы";break;
            }
    
            return col0s + sp + col1s + sp + col2s + sp + col3s + sp + col4s + ", как " + col5s + sp + col6s + ", как " + col7s + sp + col8s + sp + col9s + ".";
        }

    Формирует вариации на тему Пушкинского "чудного мгновенья". Автор утверждает, что именно так нужно писать код при ограничении по времени написания.

    XapoH, 17 Мая 2011

    Комментарии (19)
  11. Pascal / Говнокод #6594

    +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
    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
    procedure TForm1.WSocket1DataAvailable(Sender: TObject; ErrCode: Word);
    var
    msg,msg1: string;
    begin
    msg:=Wsocket1.ReceiveStr;
    Memo1.Lines.add(UTF8DECODE(msg));
    if copy(msg,0,8)='HAAAPSI ' then
    begin
    msg1:=Copy(msg,8,pos(msg,#20));
    WSocket1.SendStr(':ru IDENT 34 -1 4030 :GALA'+#13#10);
    if Edit1.Text='' then
    exit;
    WSocket1.SendStr('RECOVER ' +Edit1.Text+#13#10)
    end
    else if Copy(msg,0,9)='REGISTER ' then
    begin
    msg1:=copy(msg,9,length(msg));
    WSocket1.SendStr('USER '+msg1+#13#10);
    end
    else if Copy(msg,0,5)='LBS 1' then
    WSocket1.SendStr('GETPL'+#13#10)
    else if Copy(msg,0,3)='822' then
    begin
    WSocket1.SendStr('JOIN'+#13#10);
    WSocket1.SendStr('ADDONS'+#13#10);
    WSocket1.SendStr('MYADDONS'+#13#10);
    end
    else if Copy(msg,0,4)='PING' then
    WSocket1.SendStr('PONG'+#13#10);
    end;
    procedure TForm1.WSocket1DnsLookupDone(Sender: TObject; ErrCode: Word);
    begin
    WSocket1.Port:='6667';
    WSocket1.Proto:='tcp';
    WSocket1.Addr:=WSocket1.DnsResult;
    WSocket1.Connect;
    con:=true;
    end;

    Говно код подкл. к чату галактика знакомств да еще по 34 протоколу его скоро закроют....

    megaruliz, 08 Мая 2011

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