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

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

    +77.2

    1. 1
    2. 2
    3. 3
    4. 4
    public static long hash(URL url) {
    	FNV1 fnv; (fnv = new FNV1a32()).init(url.toExternalForm());
    	return fnv.getHash();
    }

    Какой читаемый код... :)

    ShadowX, 05 Ноября 2009

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

    +77.1

    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
    public static boolean isValidUser(String user)
    	{
    		if(user == null) return true;
    		int len = user.length();
    		if (len > 255) return false;
    		char c;
    		for(int i=0; i<len; i++)
    		{
    			c = user.charAt(i);
    			if (c <= ' ') return false;
    			if (c == ':') return false;
    			if (c == '@') return false;
    			if (c == '"') return false;
    			if (c == '>') return false;
    			if (c == '<') return false;
    			if (c == '/') return false;
    			if (c == '\'') return false;
    			if (c == '&') return false;
    			if (c == '\u077F') return false;
    			if (c == '\u0FFE') return false;
    			if (c == '\u0FFF') return false;
    		}
    		return true;
    	}

    проверка имени пользователя на плохие символые в Jeti

    danilissimus, 24 Февраля 2010

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

    +77.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private Date generateDate(int dateDay, int dateMonth) throws ParseException {
    		DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
    		return df.parse(String.valueOf(generator.nextInt(dateDay) + 1) + "."
    			+ String.valueOf(dateMonth) + "." + DATE_YEAR);
    	}

    такое ощущение, что с незапамятных времён индусы перелелялись на русь...

    asdqwezx, 12 Августа 2009

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

    +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
    void insertObject(Object object)
    {
    +	auto found = std::find_if(
    +		objects.begin(),
    +		objects.end(),
    +		[&object](Object otherObject)
    +		{
    +			return otherObject == object;
    +		}
    +	);
    +
    +	if (found != objects.end())
    +		return;
    +
    	objects.push_back(object);
    }

    Надо было не вставлять в коллекцию дубликаты по какому-то критерию. Человек написал это.

    atsgovno, 17 Апреля 2015

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

    +77

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    val field = HttpEntityWrapper.class.getDeclaredField("wrappedEntity");
    field.setAccessible(true);
    
    HttpEntity entity = response.getEntity();
    
    while (entity instanceof HttpEntityWrapper) {
    	entity = (HttpEntity) field.get(entity);
    }
    
    log.info("Response entity class: {}", entity.getClass().getName());

    Чего только не приходится делать ради отладки...

    someone, 10 Апреля 2015

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

    +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
    int processRequest(Request rq) {
        try {
            ... blablabla ...
            if ("".equals(object.getPrefix())) {
                throw new IllegalArgumentException(bundle.getMessage(MessageKeys.ILLEGAL_PREFIX));
            }
            ... blablabla ...
        } catch (IllegalArgumentException ex) {
            if (ex.getMessage().equals(bundle.getMessage(MessageKeys.ILLEGAL_PREFIX))) {
                return ErrorCodes.ILLEGAL_PREFIX;
            }
            return ErrorCodes.UNKNOWN_ERROR;
        }
        ... blabla ...
        return ErrorCodes.OK;
    }

    Интересный подход

    debugger, 27 Марта 2015

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

    +77

    1. 1
    2. 2
    3. 3
    if (measurer instanceof IsGroundedMeasurer) {
        measurer = (IsGroundedMeasurer) measurer;
    }

    nikit13, 27 Марта 2015

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

    +77

    1. 1
    String value = paramValue; //make new instance

    eugene_k, 25 Марта 2015

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

    +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
    public static void main(String[] args) {
            testIndiaLazy();
        }
    
        private static void testIndiaLazy() {
            LazyInstantiator lazyInstantiator = new LazyInstantiator();
            lazyInstantiator.getInstance();
            lazyInstantiator.getInstance();
        }
    
        public static class LazyInstantiator {
            private Object instance;
    
            public Object getInstance() {
                System.out.println("getInstance");
                if (instance != null || create());
                return instance;
            }
    
            private boolean create() {
                System.out.println("create");
                instance = new Object();
                return true;
            }
        }

    Out:
    getInstance
    create
    getInstance

    dmli, 24 Февраля 2015

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

    +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
    switch (status) {
    
       case "createInitRequest":
            requestXml = ExtFunc.executeFreemarker(initReqTempl, null, values, em);
            //values.put("soap", soap);
            status = "signInitRequest";
            //return;
    
        case "signInitRequest":    
            initReqSoap = ExtFunc.signSoap(requestXml, context, em);
            if (initReqSoap == null) return;
                    infomsg = "Запрос сформирован и подписан. Нажмите 'Продолжить' для отправки запроса.";
            status = "preSendInitRequest";
            //return;
    
        case "preSendInitRequest":
            status = "sendInitRequest";                   
            return;
    
        // далее ещё 20 кейсов, каждый из которых меняет значение status на значение следующего кейса
    
    }

    chsh, 27 Ноября 2014

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