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

    0

    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
    // int limit - кол-во записей на странице
    // int current - текущая страница
    // int pages - кол-во страниц
    // int count - общее кол-во записей
    
    if (limit > 0) {
    	pages = count / limit;
    	if (count % limit > 1) {
    		pages++;
    	}
    	if (current != pages) {
    		if (current >= 1 && current <= pages) {
    			current = pages / (current + 1);
    		} else {
    			current = 1;
    		}
    	}
    }

    Феерическая реализация постраничника от джуна

    egen, 31 Января 2019

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

    +3

    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
    // https://github.com/TigerVNC/tigervnc/blob/8c6c584377feba0e3b99eecb3ef33b28cee318cb/java/com/jcraft/jsch/Buffer.java#L65-L85
    
      public void putInt(int val) {
        tmp[0]=(byte)(val >>> 24);
        tmp[1]=(byte)(val >>> 16);
        tmp[2]=(byte)(val >>> 8);
        tmp[3]=(byte)(val);
        System.arraycopy(tmp, 0, buffer, index, 4);
        index+=4;
      }
      public void putLong(long val) {
        tmp[0]=(byte)(val >>> 56);
        tmp[1]=(byte)(val >>> 48);
        tmp[2]=(byte)(val >>> 40);
        tmp[3]=(byte)(val >>> 32);
        System.arraycopy(tmp, 0, buffer, index, 4);
        tmp[0]=(byte)(val >>> 24);
        tmp[1]=(byte)(val >>> 16);
        tmp[2]=(byte)(val >>> 8);
        tmp[3]=(byte)(val);
        System.arraycopy(tmp, 0, buffer, index+4, 4);
        index+=8;
      }

    Жабовское байтоебство (судя по всему это такой ntohl) из реализации VNC.
    Вот интересно, в жабке-то unsigned типов нет нихера, но почему-то сделали unsigned двоичный сдвиг (>>>), который работает для этих встроенных signed типов как если б это были unsigned. А как насчет unsigned умножения и деления (сложение и вычитание - то один хер, без разницы, если у нас two's complement)?

    j123123, 28 Января 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private fun isEnabled(): Boolean = when {
            inner.has("_disabled") -> getString("_disabled") == "false"
            inner.has("_enabled")  -> getString("_enabled") == "true"
            else                   -> true
        }

    Тут не столько про код, сколько про API, которое он юзает

    rjhdby, 25 Января 2019

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

    +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
    public static String getDomain(String str) {
            StringBuilder sb = new StringBuilder(str).reverse();
            StringBuilder domain = new StringBuilder();
            for (String s : sb.toString().split("")) {
                if (!s.equals("@")) {
                    domain.append(s);
                } else {
                    break;
                }
            }
            return domain.reverse().toString();
        }

    Ну чо, как вам такое?

    mummakill, 12 Января 2019

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public void testGetClosedStatuses() {
        List<FooStatus> expectedStatuses = Arrays.asList(
                FooStatus.CANCELLED,
                FooStatus.COMPLETED,
                FooStatus.REJECTED);
    
        List<FooStatus> closedStatuses = fooService.getClosedStatuses();
    
        assertThat(closedStatuses, containsInAnyOrder(expectedStatuses.toArray());
    }

    Берём массив и преобразуем его в список. Чтобы использовать этот список, преобразуем его в массив.

    wissenstein, 06 Декабря 2018

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

    +2

    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
    private boolean checkRule(SchedulerPlanedTaskRuleBase rule, Date nowDate)
    {
        boolean result = (null != rule) && rule.isExecutionPlaned(nowDate, _lastExecutionDate);
        if (result)
        {
            //Проверка, выполнялось ли уже это действие в эту минуту. Таймер настроен на 30 сек, поэтому эта задача может запускаться 2 раза в минуту.
            //Этого нельзя допустить. Если разница между текущим временем и временем последнего запуска этой задачи меньше 2х минут - задача не запускается
            if (_lastExecutionDate != null)
            {
                Calendar lastTime = DateUtils.createCalendar(_lastExecutionDate);
                Calendar nowTime = DateUtils.createCalendar(nowDate);
                if (Math.abs(nowTime.getTimeInMillis() - lastTime.getTimeInMillis()) < 120000)
                    return false;
            }
        }
        return result;
    }

    vistefan, 05 Декабря 2018

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

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    import java.util.Optional;
    
    public class Fuck {
        public static <T> Optional<T> of(T o) {
            return Optional.of(o);
        }
    }

    xaoc, 04 Декабря 2018

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

    +1

    1. 1
    source.setPropertyValue("phone", "фон");

    Фон

    vistefan, 19 Ноября 2018

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    private static final int EXPIRATION_DATE = 93*24*60*60*1000;
     if (fileAttribute.creationTime().toMillis() + EXPIRATION_DATE < System.currentTimeMillis()) {
                   ...
                }

    в мастер-ветке...

    justtrash, 15 Октября 2018

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

    −2

    1. 1
    2. 2
    https://sohabr.net/habr/post/424725/
    https://sohabr.net/habr/post/423947/

    Я не понял, жава платная или нет?

    syoma, 30 Сентября 2018

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