1. Java / Говнокод #12609

    +65

    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
    package com.example.testing;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.activity_main, menu);
            return true;
        }
        
    }

    Govnisti_Diavol, 17 Февраля 2013

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

    +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
    byte[] buffer = new byte[BUFFER_SIZE];
    ReadState readState = ReadState.BOUNDARY;
    
    InputStream input = request.getInputStream();
    int read = input.read(buffer);
    int pos = 0;
    
    // This is a fail-safe to prevent infinite loops from occurring in some environments
    int loopCounter = 20;
    
    while (read > 0 && loopCounter > 0) {
        for (int i = 0; i < read; i++) {
            switch (readState) {
                // Pos is calculated...
                case BOUNDARY: 
                case HEADERS: 
                case DATA: 
            }
        }
    
        if (pos < read) {
            // move the bytes that weren't read to the start of the buffer
            int bytesNotRead = read - pos;
            System.arraycopy(buffer, pos, buffer, 0, bytesNotRead);
            read = input.read(buffer, bytesNotRead, buffer.length - bytesNotRead);
    
            // Decrement loopCounter if no data was readable
            if (read == 0) {
                loopCounter--;
            }
    
            read += bytesNotRead;
        } else {
            read = input.read(buffer);
        }
    }

    Кусок исходников из недров JBoss Seam(наткнулся профайлером).
    Пацаны пофиксили багу с бесконечным циклом и 100 утилизацией CPU.
    Весь класс:
    https://www.java2s.com/Open-Source/Java/JBoss/jboss-seam-2.2.0/org/jboss/seam/web/MultipartRequestImpl.java.htm
    Версия с бесконечным циклом:
    http://www.docjar.com/html/api/org/jboss/seam/web/MultipartRequestImpl.java.html

    psvm, 16 Февраля 2013

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

    +74

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private String stateChangedReason;
    ...
    
    if (stateChangedReason != null && stateChangedReason instanceof String) {
                dealerManageInfo.setChangeStateReason(stateChangedReason.toString());
    }

    amarfey, 15 Февраля 2013

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

    +121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public class DefaultQueryEngine implements QueryEngine {
    
        private static volatile QueryEngine DEFAULT;
        
        public static QueryEngine getDefault() {
            if (DEFAULT == null) {
                DEFAULT = new DefaultQueryEngine(new DefaultEvaluatorFactory(CollQueryTemplates.DEFAULT));
            }
            return DEFAULT;
        }

    https://github.com/mysema/querydsl/blob/master/querydsl-collections/src/main/java/com/mysema/query/collections/DefaultQueryEngine.java

    Ехал дефолт через дефолт...

    someone, 15 Февраля 2013

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

    +71

    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
    private static final int IDX_OBJECT = 0;
    private static final String PARTY_ACCOUNT_BALANCE_QUERIES = "Select party.id from Party party WHERE party.TaxID='615100175';Select account.id from PaymentAccount account, Party party WHERE party.TaxID='615100175';Select balance.id from PaymentBalance balance WHERE balance.BalanceType='10000';";
    private static final int queryAmount = 3;
    public void createPaymentAccountUpdate() {
    	String[] QUERY = new String[queryAmount];
    	int startIndex = 0, endIndex=0;
    	IRecordset [] rs=null;
    
    	for (int i = 0; i < queryAmount; i++) {
    		endIndex = PARTY_ACCOUNT_BALANCE_QUERIES.indexOf(';', startIndex);
    		QUERY[i] = PARTY_ACCOUNT_BALANCE_QUERIES.substring(startIndex, endIndex);
    		startIndex = endIndex + 1;
    	} 
    	for (int i = 0; i < queryAmount; i++) {
    		rs[i] = s_mgr.newQuery().execute(QUERY[i].toString());
    	}
    	if (rs[0].moveNext()) {
    		IParty party = (IParty)rs[0].valueFromIndex(IDX_OBJECT);
    		if (rs[1].moveNext()) {
    			IPaymentAccount pa = (IPaymentAccount) rs[1].valueFromIndex(IDX_OBJECT);
    			pa.setParty(party);
    		}
    		if (rs[2].moveNext()) {
    			IPaymentBalance pb = (IPaymentBalance) rs[2].valueFromIndex(IDX_OBJECT);
    			pa.setBalance(pb);
    		}            
    		pa.setComment("Test account update created"); 
    		pa.Save();
    	}
    }

    Лучше уж никаких тестов, чем такие

    askell, 14 Февраля 2013

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

    +81

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public static void trustAllHttpsCertificates() {
        // Is the deprecated protocol setted?
        if (isDeprecatedSSLProtocol()) {
            __trustAllHttpsCertificates();
        } else {
            _trustAllHttpsCertificates();
        } // else
    } // trustAllHttpsCertificates

    Captain Obvious поучаствовал?
    P.S. Похоже, это писал старый программист, закалённый в борьбе с VisualBasic.

    wissenstein, 14 Февраля 2013

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

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public class Test {
        public static final int a;
        static {
            System.out.println(Main.a);
            a = 42;
            System.out.println(Main.a);
        }
    }

    javac такой javac...

    Так видит проблему: http://ideone.com/jhPN5X
    А вот так - нет: http://ideone.com/qAMIvH

    bormand, 14 Февраля 2013

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

    +79

    1. 1
    2. 2
    3. 3
    public class StringToObjectMap extends HashMap<String, Object> {
    
        public StringToObjectMap(Map<? extends String, ? extends Object> map)

    Нет слов выразить мою печаль.

    nafania217518, 13 Февраля 2013

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

    +68

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    @Override
        public void execute() {
            try {
                Thread.sleep(1000L);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            for (ClientListener listener : listeners) {
                listener.disconnected(this);
            }
        }

    Lure Of Chaos, 12 Февраля 2013

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

    +61

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public void insert()
    {
        super.insert();
        if (this.ItemId == "")
            this = this;
    }

    нарочно не придумаешь

    bodeaux, 11 Февраля 2013

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