Comments 27
Вау, нормальные строки завезли в 2021 году.
Ну че ты начинаешь, мы только на "людей" начинаем быть похожи.
Пара мыслей про новый System.Logger
:
- появилась поддержка лямбда-выражений — это то, чего не хватало в SLF4J. Кажется, что связка
System.Logger
и log4j2 будет идеальной; - убрали лишние уровни логирования типа
FINE
,FINER
,FINEST
и оставили привычные 5 уровней (+2 системных); - но при этом поленились создавать методы
debug()
,info()
и прочие, предлагая каждый раз указывать уровень логирования в аргументах метода; - в lombok до сих пор нет аннотации, которая будет генерировать инстанс такого логера.
В итоге переход с SLF4J будет слишком тяжелым: нужно будет руками создавать экземпляр логера в каждом классе и везде придется поменять вызовы логирующих методов. Если с первый недостаток можно было бы устранить, сделав PR в lombok, то для устранения второго придется писать тулзу (или искать существующую), которая пробежится по всем классам и переделает вызовы логирования в соответствии с новой парадигмой.
В общем, создать универсальное средство для логирования, которое стало бы общепринятым в Java-мире, так и не удалось. SLF4J и Logback мертвы, но все еще хорошо справляются со своей работой, а переход с SLF4J на System.Logger
кажется слишком болезненным.
Добавление 'Objects.checkIndex' выглядит как то совсем протянуто. С таким подходом можно практически любой метод в Objects поместить.
Откуда необходимость вообще взялась добавлять такой метод в стандартную библиотеку?
Плюс даже нет возможности бросить какое то специфичное исключение или текст ошибки хотя бы кастомизировать, судя по всему
Я не работаю с Java если что, но выглядит странно
А куча новых методов в стринге не смущает? А новые методы у стрима? Давно пора завезти нормальные экстеншны, и перестать подавать яичницу в качестве божьего дара...
Ну строковые методы хотя бы отношения к строками имеют, но findIndex в объекте — вообще за гранью)
да, с экстеншнами это выглядело бы куда лучше
Я лично скорее против экстенжн методов, чем за них. Но в джаве можно пользоваться ими уже сейчас, достаточно подключить Lombok.
Э-э-э, ну а Lombok-то как заменит Extension methods?
Так у него есть, как таковая фича, extension methods.
Более того, в интелидже уже есть их минимальная поддержка.
Откуда необходимость вообще взялась добавлять такой метод в стандартную библиотеку?
Я так понимаю, подобные методы в ней были с самого начала, только внутренние или приватные.
Графики начинающиеся не с 0 воспринимаются тяжело и сбивают с толку
Какой кошмар. Статью можно сразу удалять из-за такого позора.
PS. Графики рисует сторонняя тулза.
Вижу в статье 2 графика и оба с логарифмической шкалой. Логарифмическую шкалу начинать от 0 невозможно.
Укажите в конструкторе ArrayList размер внутренного массива сразу. Он ведь заранее известен.
API, ради которых наконец-то стоит обновиться с Java 8. Часть 3