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

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

    +69

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public List<ImportException> importFiles() {
        Collection<ImportException> exceptions = new ArrayList<ImportException>();
        /* весь метод exceptions ссылается на этот список */
        return (List<ImportException>) exceptions;
    }

    Полиморфизм ёпт

    evg_ever, 04 Февраля 2014

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

    +69

    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
    String response = HttpLoader.loadString(params[0]);
    Gson gson = new GsonBuilder().registerTypeAdapter(ArrayList.class,
        new JsonCollectionSerializer<ArrayList<MyClass>>()).
        create();
    
    ArrayList<MyClass> items_generic = new ArrayList<MyClass>() { };
    ArrayList<MyClass> items = gson.fromJson(response, items_generic.getClass().getGenericSuperclass());
    return items;
    
    
    public class JsonCollectionSerializer<E> implements
            JsonSerializer<Collection<E>>, JsonDeserializer<Collection<E>> {
    
        @SuppressWarnings("unchecked")
        public Collection<E> deserialize(JsonElement element, Type type,
                                         JsonDeserializationContext context) throws JsonParseException {
            JsonArray items = element.getAsJsonArray();
            ParameterizedType deserializationCollectionType = ((ParameterizedType) type);
            Type collectionItemType = deserializationCollectionType.getActualTypeArguments()[0];
            Collection<E> list = null;
    
            try {
                list = (Collection<E>) ((Class<?>) deserializationCollectionType.getRawType()).newInstance();
                for (JsonElement e : items) {
                    list.add((E) context.deserialize(e, collectionItemType));
                }
            } catch (InstantiationException e) {
                throw new JsonParseException(e);
            } catch (IllegalAccessException e) {
                throw new JsonParseException(e);
            }
    
            return list;
        }
    }

    Жабоблядство и шаблоны и генерики:
    Чтение из json в коллекцию с шаблонным параметризованным типом.

    chtulhu, 23 Января 2014

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

    +69

    1. 1
    2. 2
    3. 3
    4. 4
    if (errors.isEmpty())
                success(result);
            else
                throw new UnsupportedOperationException();

    ошибки быть не может!

    Dougrinch, 03 Декабря 2013

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

    +69

    1. 1
    2. 2
    #define BYTEMAX 0xFF 
    #define BYTEOVERFLOW (BYTEMAX+1)

    C++ вокруг. Интересует насколько это вменяемая практика?

    LispGovno, 26 Ноября 2013

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

    +69

    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
    package first;
    
    import java.util.Scanner;
    
    public class First {
    
    	public static void main(String[] args) {
    
    		String line = "Empty directories can be moved. If the directory is not empty,";
    
    		System.out.println("Enter simbol to delete:");
    		Scanner s = new Scanner(System.in);
    		String del = s.nextLine();
    		s.close();
    
    		StringBuilder sb = new StringBuilder(line);
    		for (int i = 0; i < sb.length(); i++) {
    			if (sb.charAt(i) == del.charAt(0)) {
    				sb.deleteCharAt(i);
    				
    			}
    		}
    
    		System.out.println(sb);
    	}
    
    }

    Это из раннего. Давно что-то не выкладывал, вот руки зачесались.

    spivti, 06 Октября 2013

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

    +69

    1. 1
    С ДНЕМ МУДАКОВ ЗАДРОТЫ АЗАЗАЗА

    13 СИНТЯБРЯ ДЕНЬ ЛАХОВ И ЗАДРОТАВ
    p.s. мне всево 7 лет и у миня есть ifon 5

    PragramistOtBoga, 13 Сентября 2013

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

    +69

    1. 1
    foos.removeAll(Collections.singleton(null));

    foos.remove(null)?не, не наш метод.

    Lure Of Chaos, 02 Августа 2013

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

    +69

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    SOAPMessage msg = ctx.getMessage();
    
    //msg.writeTo(System.out);
    
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    msg.writeTo(baos);
    logger.trace(baos);

    где у хвалёного log4j метод для передачи его как аргументом java.io.OutputStream???

    defecate-plusplus, 26 Июля 2013

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

    +69

    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
    protected String getException (final Exception exception) throws IOException
    {
            final ByteArrayOutputStream bos = new ByteArrayOutputStream ();
            try
            {
                final PrintStream ps = new PrintStream (bos);
                exception.printStackTrace (ps);
            }
            finally
            {
                bos.close ();
            }
    
            return bos.toString ();
    }

    john812, 25 Июля 2013

    Комментарии (0)
  11. C++ / Говнокод #13393

    +69

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Дорогой участник! Не спеши покидать страницу. Я прошу тебя помочь:
    не поленись, пройдись по всем постам, и поставь каждому участнику по минусу;
    минусуя других участников ты воспитываешь в себе чувство меры и помогаешь обществу снижать ЧСВ. 
    Заранее спасибо, друг мой. Ты будешь вознагражден за это деяние!
    
    Тот, кто покинул страницу, но не выполнил моей просьбы, умрет через 9 дней.

    Дорогой участник! Не спеши покидать страницу. Я прошу тебя помочь:
    не поленись, пройдись по всем постам, и поставь каждому участнику по минусу;
    минусуя других участников ты воспитываешь в себе чувство меры и помогаешь обществу снижать ЧСВ.
    Заранее спасибо, друг мой. Ты будешь вознагражден за это деяние!


    Тот, кто покинул страницу, но не выполнил моей просьбы, умрет через 9 дней.

    Stertor, 11 Июля 2013

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