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

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    Ingeter[] i = new Integer[1];
    for (i = 0; i<n; i++) {
    //что-то происходит
    }

    здесь все по-серьезному

    skim1776, 18 Июня 2011

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

    +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
    public class SomeEntityBean implements javax.ejb.EntityBean {
        private boolean loadMember;
        private Wrapper list;
    
        /* ... */
    
        public void ejbLoad() {
            this.loadMember = false;
            load();
        }
    
        private void load() {
            /* a LOT of code */
            String[] attrList = this.loadMember ?  a.attrListMember() : a.attrList();
            this.list = new Wrapper(attrList);
            /* a LOT of code */
        }
    
        public Something getSomething() {
            /* a LOT of code */
            this.loadMember = true;
            load();
            /* do something with this.list */
            this.loadMember = false;
            return something;
        }
    }

    Имена персонажей были умышленно изменены.
    Разумеется, loadMember больше нигде не используется.
    Яркий пример повторного использования кода.

    roman-kashitsyn, 16 Июня 2011

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

    +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
    ArrayList<BaseEventData> tempList = new ArrayList<BaseEventData>();
    			
    			int to = baseList.size()-1;
    
    			while((to > 0) && (baseList.get(to).getTime() > timeTo))
    				to--;
    			
    			int from = to;
    			
    			while((from > 0) && (baseList.get(from).getTime() >= timeFrom)){
    				tempList.add(baseList.get(from));
    				from--;
    			}
    			
    			mEvents = tempList.toArray(new BaseEventData[]{});

    Часть метода. Метод предназначен для чтения ленты событий. Среди полученной ленты выбираются те, время возникновения которых попадает в заданный период. События изначально отсортированы по этому времени, от первого к последнему. то-есть последний элемент - последнее событие.

    kartanis, 31 Мая 2011

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    protected String getResponseFaultCode(Map<String, Object> response) {
    		Object faultCode = response.get("FAULTCODE");
    		if (null != faultCode){
    			return faultCode.toString();
    			}	
    		return null;
    	}

    alopen, 25 Мая 2011

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    top = width / 2d;
    bottom = width / 2d;
    left = height / 2d;
    right = height / 2d;

    Из-за данного участка кода было убито очень много нервова

    AngryBobby, 23 Марта 2011

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function formatSpeedBits(speed) {
    	// format speed in bits/sec, input: bytes/sec
    	if (speed < 125000) return Math.round(speed / 125) + " Kbps";
    	if (speed < 125000000) return Math.round(speed / 1250)/100 + " Mbps";
    	// else
    	return Math.round(speed / 1250000)/100 + " Gbps";  // wow!
    }

    JS в интерфейсе прошивки dd-wrt. Не совсе говнокод.

    danilissimus, 04 Марта 2011

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

    +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
    ...:
                :
                Document doc = mySAXBuilder.build(pathToXML);
                Element root = null;
                List<Element> children = null;
                if( null != doc
                    &&
                    (
                        (   (root = doc.getRootElement()) != null && root.getName().equals("root") )    ?   
                                (
                                    (children = root.getChildren()) != null ?
                                        (children.size() > 0)
                                        : false
                                )
                                : false
                    )
                )
                {
                            // XML PARSING
                }
                :
                :......

    Интересный этюд при разборе XML'ки :)

    itakethisname, 03 Марта 2011

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

    +77

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public void log(String msg) {
            try {
                StringBuffer sb = new StringBuffer(), sb2 = new StringBuffer();
                sb.append(getDeviceId()).append(": ").append(msg).append('\n');
                sb2.append("^^ ").append(sb);
                System.out.println(sb2.toString()); // Вывод в консоль
                platform.logEvent(msg.getBytes()); // Вывод в лог трубы
            } catch (Exception e) {
                // Ignore
            }
        }

    Проект под BlackBerry. Каменты мои.
    Ниасилил в чем соль двух стрингбуферов О_о

    Gsom11, 09 Февраля 2011

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private String get4DigitRandom() {
            final int length = 4;
            int number = (int) (Math.random() * Math.pow(10, length));
            StringBuilder sb = new StringBuilder();
            for (int i = length; i > 0; i--)
                sb.append("" + (int) (number / Math.pow(10, i - 1)) % 10);
    
            return sb.toString();
        }

    yozh, 17 Декабря 2010

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

    +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
    JavaServer Faces 1.2, Facelets, страница .xhtml:
    
        <p:nbsp/>
    
    Что является вызовом facelet-тага, ссылающегося на другой (НEвалидный) .xhtml-файл:
    
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <ui:component xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets">
            <h:outputText escape="false" value="&amp;nbsp;" />
        </ui:component>
    
    Это, типа, способ вставить &nbsp; на страницу. Вместо того, что бы просто написать &nbsp; где это нужно. 
    А что бы это работало в xhtml-нике, нужно всего лишь поставить правильный DOCTYPE вначале 
    документа.

    yvu, 11 Ноября 2010

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