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

    +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
    31. 31
    32. 32
    33. 33
    package com.govnoistochnik.servleti;
    
    ...
     
    import javax.servlet.GenericServlet;
    ...
     
    public class GenericReportingServlet extends GenericServlet {
    
    PrintWriter oos;   // Говно источник
    ...
    
    public synchronized void  createReport(...)
    {
    oos = new PrintWriter();
    ...
    // pessot strok govnokoda vida
    oos.println("report");
    ...
    saveToDB(oos.toString());
    
    oos.close;
    }
    
    public synchronized void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
    // Kucha govnokoda
       createReport(...);
    // Prodoljeniye kuchi
    }
    
     ...
     
    }

    Продолжение говнокода
    http://govnokod.ru/9146

    Мы нашли почему там Синхронный метод.

    Глобальная переменная в коде. Какому идеоту пришло в голову так писать.....пи......

    Запостил: kirpi, 27 Января 2012

    Комментарии (3) RSS

    • >PrintWriter oos; // Говно источник
      палец с жопой перепутали, печально

      Хотя, кажется, я неправильно понял слово "источник"

      дальше не смотрел
      Ответить
    • > oos.close;
      угу
      Ответить
    • Если бы палец не проблема. Тут голову с жопой перепутали.

      Сервер по определению должен быть многопоточен.
      Так что выкидываем Synchronize.

      Остаётся Глобальная переменная ради чего и был синхронайз.
      И тут начинается веселуха.
      Один поток обект создаёт
      Другой в него пишет
      Третий его закрывает
      Первый пытается писать и ловит ошибку "стрим закрыт"

      А я вам скажу изначально в этом коде никокого синхронизе небыло!

      Это когда говны начали сыпаться с одновремнным использованием глобальной переменной.
      Вместо того чтобы перенести глобальную куданить в более пристойное место
      "Говноумельцы" добавили синхронайз так и получился такой вот говнокод.
      Ответить

    Добавить комментарий