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

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

    +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
    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
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    public CommandResult update() {
                CommandResult res = null;
                try {
                    long start = System.nanoTime();
                    res = _port.runCommand(_mongo.getDB("admin"), isMasterCmd);
                    long end = System.nanoTime();
                    float newPingMS = (end - start) / 1000000F;
                    if (!successfullyContacted)
                        _pingTimeMS = newPingMS;
                    else
                        _pingTimeMS = _pingTimeMS + ((newPingMS - _pingTimeMS) / latencySmoothFactor);
    
                    getLogger().log(Level.FINE, "Latency to " + _addr + " actual=" + newPingMS + " smoothed=" + _pingTimeMS);
    
                    successfullyContacted = true;
    
                    if (res == null) {
                        throw new MongoInternalException("Invalid null value returned from isMaster");
                    }
    
                    if (!_ok) {
                        getLogger().log(Level.INFO, "Server seen up: " + _addr);
                    }
                    _ok = true;
    
                    // max size was added in 1.8
                    if (res.containsField("maxBsonObjectSize")) {
                        _maxBsonObjectSize = (Integer) res.get("maxBsonObjectSize");
                    } else {
                        _maxBsonObjectSize = Bytes.MAX_OBJECT_SIZE;
                    }
                } catch (Exception e) {
                    if (!((_ok) ? true : (Math.random() > 0.1))) {
                        return res;
                    }
    
                    final StringBuilder logError = (new StringBuilder("Server seen down: ")).append(_addr);
    
                    if (e instanceof IOException) {
    
                        logError.append(" - ").append(IOException.class.getName());
    
                        if (e.getMessage() != null) {
                            logError.append(" - message: ").append(e.getMessage());
                        }
    
                        getLogger().log(Level.WARNING, logError.toString());
    
                    } else {
                        getLogger().log(Level.WARNING, logError.toString(), e);
                    }
                    _ok = false;
                }
    
                return res;
            }

    https://github.com/mongodb/mongo-java-driver/blob/master/src/main/com/mongodb/ConnectionStatus.java

    Незаметен.

    serpinski, 31 Мая 2013

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Set<String> allDocs = new HashSet<String>();
    allDocs.addAll(getQuery(app).execute(query.toString()));
    ArrayList<String> result = new ArrayList<String>();
    if (allDocs !=null){ 
      result.addAll(allDocs);
    }

    Самое хорошее в строках 1 и 4, потому что хз, че там у этой джавы на уме. Лишняя проверка никогда не лишняя.

    croacker, 16 Марта 2013

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

    +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
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    byte[] buffer = new byte[BUFFER_SIZE];
    ReadState readState = ReadState.BOUNDARY;
    
    InputStream input = request.getInputStream();
    int read = input.read(buffer);
    int pos = 0;
    
    // This is a fail-safe to prevent infinite loops from occurring in some environments
    int loopCounter = 20;
    
    while (read > 0 && loopCounter > 0) {
        for (int i = 0; i < read; i++) {
            switch (readState) {
                // Pos is calculated...
                case BOUNDARY: 
                case HEADERS: 
                case DATA: 
            }
        }
    
        if (pos < read) {
            // move the bytes that weren't read to the start of the buffer
            int bytesNotRead = read - pos;
            System.arraycopy(buffer, pos, buffer, 0, bytesNotRead);
            read = input.read(buffer, bytesNotRead, buffer.length - bytesNotRead);
    
            // Decrement loopCounter if no data was readable
            if (read == 0) {
                loopCounter--;
            }
    
            read += bytesNotRead;
        } else {
            read = input.read(buffer);
        }
    }

    Кусок исходников из недров JBoss Seam(наткнулся профайлером).
    Пацаны пофиксили багу с бесконечным циклом и 100 утилизацией CPU.
    Весь класс:
    https://www.java2s.com/Open-Source/Java/JBoss/jboss-seam-2.2.0/org/jboss/seam/web/MultipartRequestImpl.java.htm
    Версия с бесконечным циклом:
    http://www.docjar.com/html/api/org/jboss/seam/web/MultipartRequestImpl.java.html

    psvm, 16 Февраля 2013

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

    +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
    public static long[] intArrayToLongArray(int[] in) {
        long[] out = new long[in.length];
        for (int i=0, n=in.length; i<n; i++)
            out[i] = in[i];
        return out;
    }
    
    public static void vibrateByResource(Context context, int resId) {
        Vibrator vibrator = (Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE);
        long[] pattern = intArrayToLongArray(context.getResources().getIntArray(resId));
        vibrator.vibrate(pattern, -1);
    }
    
    vibrateByResource(this, R.array.vibroPatternSuccess);

    vibrate() принимает только long[], но не int[], в ресурсах могут храниться только int[] но не long[]. В результате родился вот такой говнокодик.

    bormand, 30 Января 2013

    Комментарии (23)
  6. C++ / Говнокод #12187

    +77

    1. 1
    delete[] Memory, leak; //Унарные операторы, такие уринарные.

    Былинный отказ.

    igumnovf, 23 Ноября 2012

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    @Override
    public String toString(){
            return this.toString();
    }

    хуита, 27 Июля 2012

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

    +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
    /**
         * Returns the an array (length 1) containing the checkbox menu item
         * label or null if the checkbox is not selected.
         * @see ItemSelectable
         */
        public synchronized Object[] getSelectedObjects() {
            if (state) {
                Object[] items = new Object[1];
                items[0] = label;
                return items;
            }
            return null;
        }

    java.awt.CheckboxMenuItem

    Lure Of Chaos, 03 Июля 2012

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

    +77

    1. 1
    2. 2
    3. 3
    public static boolean isNull(Collection collection) {
        return collection == null;
    }

    mychka, 25 Июня 2012

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

    +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
    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
    //...
    final AudioClip bar3Note = new AudioClip(Xylophone.class.getResource(THIRD_SOUND_NODE).toString());
    final AudioClip bar4Note = new AudioClip(Xylophone.class.getResource(FOURTH_SOUND_NODE).toString());
    final AudioClip bar5Note = new AudioClip(Xylophone.class.getResource(FIFTH_SOUND_NODE).toString());
    //...
    
    // ... Далее еще плачевнее...
    bar2Group.setOnMousePressed(new EventHandler<MouseEvent>()
    {
        @Override
        public void handle(MouseEvent me)
        {
            bar2Note.play();
         }
    });
    bar3Group.setOnMousePressed(new EventHandler<MouseEvent>()
    {
        @Override
        public void handle(MouseEvent me)
        {
            bar3Note.play();
        }
    });
    bar4Group.setOnMousePressed(new EventHandler<MouseEvent>()
    {
        @Override
        public void handle(MouseEvent me)
        {
            bar4Note.play();
        }
    });
    // ...
    
    // Ну и, наконец, полный П.З..Ц
    bar1Group.setEffect(l);
    bar2Group.setEffect(l);
    bar3Group.setEffect(l);
    bar4Group.setEffect(l);
    bar5Group.setEffect(l);
    bar6Group.setEffect(l);
    bar7Group.setEffect(l);
    bar8Group.setEffect(l);

    Внедрение JFX без элементарных циклов хорошим не закончится.

    dwinner, 14 Июня 2012

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    if ($id<0)
    {
      $id=intval(str_replace("-","","$id"));   
    }

    Пацаны пошли самым очевидным путем. Мозгов умножить $id на -1 или использовать abs (), конечно же, не хватило.

    T_ENGINE, 28 Мая 2012

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