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

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

    +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
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    LineDir ld = ild.next();
    int y = ld.getYDirAdj(), h = ld.getHeightDir();				
    PDFTextStripperByArea pts = new PDFTextStripperByArea();
    pts.addRegion("column3", new Rectangle(470,y,70,h));
    pts.addRegion("column4", new Rectangle(540,y,50,h));
    pts.extractRegions(page);
    try {
              int g = 0;
              String column3 = pts.getTextForRegion("column3").trim();
              String column4 = pts.getTextForRegion("column4").trim();
              if (column3.isEmpty()) {
                        g = 1/0;
              }
              g = Integer.valueOf(column4);					
    } catch(Exception e) {
             ild.remove();
    }

    Парсил pdf ничего лучше чем проверка нахождения 1)непустой строки(11) и 2)числа(14) в выбраных областях не нашел (в этих строках всегда есть эти столбцы). 2 если там не число то будет ошибка а в 1 сделал что бы ошибка за компанию была )

    Mooncrafter, 26 Июля 2013

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

    +68

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

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


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

    Stertor, 11 Июля 2013

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

    +68

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    private void setFooMode() {
        if (foo.isSelected()) { // is currently showing
            App.appProps.put(Strings.BAR_MODE, Strings.TRUE);
        }
        else {
            App.appProps.put(Strings.BAR_MODE, Strings.FALSE);
        }
    }

    myzone, 03 Июня 2013

    Комментарии (9)
  5. 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)
  6. Java / Говнокод #12327

    +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
    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
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    /*
        * Todo Гавнокод
        * Надо как то поуниверсальнее сделать
        * А то когда модель вмешавается в отображение, это криворукость
        */
        private static String ___recurGet(Dir dir){
            MorphiaQuery dirs = dir.getDirList();
            String  id = dir.getIdAsStr(),
                    name = dir.name;
    
            String html = "<div class=\"bottom-line\">";
            html += "<a href=\"#\" onclick=\"setPrnt('"+id+"')\" id=\""+id+"\">";
            html += name;
            html += "</a>";
            html += "<div class=\"pull-right\">";
            html += "<a href=\"#\" class=\"icon-trash\" onclick=\"deleteNode('"+id+"')\"></a>";
            html += "</div>";
            html += "</div>";
    
            if(dirs.count() < 1)
                return html;
    
            html += "<ul>";
            for(int i = 0; i < dirs.count(); i++){
                html += "<li>";
                html += ___recurGet((Dir)dirs.offset(i).first());
                html += "</li>";
            }
            html += "</ul>";
            return html;
        }
    
        public static String getTreeAsHtml(String _typ){
            MorphiaQuery dirs = getRootDirList().filter("typ",Type.valueOf(_typ));
    
            if(dirs.count() < 1)
                return "Категорий нет";
    
            String html = "<ul id=\"treeView\">";
            for(int i = 0; i < dirs.count(); i++){
                html += "<li>";
                html += ___recurGet((Dir)dirs.offset(i).first());
                html += "</li>";
            }
            html += "</ul>";
            return html;
        }

    В модели "категория" написал метод для получения дерева категории в виде html кода...
    Причем такая генерация должна происходить в view, а сделал как обычно через ж

    haker, 21 Декабря 2012

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

    +68

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public Dir delete(){
            MorphiaQuery dirs = getDirList(); //Получаем подпапки
            if(dirs != null){ 
                Iterator<Dir> list = dirs.iterator();  
                while(list.hasNext()){
                    list.next().delete(); //Снова вызываем public Dir delete()
                }
            }
            return super.delete(); //Удаляем саму папку
        }

    Написал метод для удаления категорий рекурсивно из базы...
    Представляю какая нагрузка будет на базу если будет 100 папок, а в ней каждой ещё по 100. В итоге 100*100 = 10000 запросов в базу

    haker, 21 Декабря 2012

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

    +68

    1. 1
    2. 2
    3. 3
    public ConcurrentHashMap(int initialCapacity, float loadFactor, int concurrencyLevel) {
         if (initialCapacity < 0)
           throw new IllegalArgumentException();

    - unsigned?
    - ЖАБАПРОБЛЕМЫ.

    А ещё это не портируется на 64хбитные платформы с 32хбитным intом.

    LispGovno, 04 Ноября 2012

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

    +68

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    boolean occured = serverStats.getSwitchoverOccured();    
         
      if (occured)     
       return true;
      else  
       return false;

    dzagy, 04 Сентября 2012

    Комментарии (11)
  10. PHP / Говнокод #11411

    +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
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    public function makeCategoryArray() {
            $a = array();
            for($i = 1; $i <=3 ; $i++) {
                $j = $i != 1 ? $i : '';
                $Method = "getCategoryid" . $j;
                $categoryid = $this->$Method();
                if($this->$Method()) {
                    try{
                        $category = BC::Get()->getCompanyService()->getCategoryByID($categoryid);
                        $a[] = array(
                            'name' => $category->getName(),
                            'url' => $category->makeURL()
                        );
                    } catch(Exception $e) {
                        return $a;
                    }
                }
            }
            return $a;
        }

    Эпичный вызов getCategoryid1(), getCategoryid2(), getCategoryid3() когда есть getField(fieldname)...

    max_wp, 13 Июля 2012

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

    +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
    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 abstract class AbstractJob implements Job
    {
        private static ConcurrentHashMap<String, Boolean> mutexes = new ConcurrentHashMap<String, Boolean>();
    
        public abstract void job(JobExecutionContext jec, Logger logger) throws JobExecutionException;
    
        public void execute(JobExecutionContext jec) throws JobExecutionException
        {
            Logger logger = LoggerLocator.getLogger(this.getClass().getSimpleName());
            if (mutexes.containsKey(this.getClass().getSimpleName()))
            {
                logger.info("Job "+jec.getJobDetail().getName()+" already running");            
            }
            else
            {
                try
                {
                    mutexes.put(this.getClass().getSimpleName(), true);
                    job(jec, logger);
                }
                finally
                {
                    mutexes.remove(this.getClass().getSimpleName());
                }
            }
        }
    }

    Race condition и передача логгера в параметрах очень порадовали. А ведь вместо написания кривого велосипеда можно было просто @DisallowConcurrentExecution

    konsoletyper, 12 Июля 2012

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