nnLogger

Для ядра nnLogger 3.1

Нет прав для скачивания
Очень топовый плагин. Главная особенность как я считаю - разбитые на отдельные каталоги логи каждого игрока. Не надо теперь хуzzzть по логам, чтобы найти нужного человека, если он нужен один и единственный.

Также разраб сверх отзывчивый. Я только написал, он в 10 вечера даже ответил (чем не похвастаются многие разрабы).

И разрабу 5, и плагину 5. 10!
nennikitochka
nennikitochka
В моём регионе было 2 ночи)
Никто не просил оценки, но я оценю:

Плагин прикольный, но можешь переписать свой код получше.

Именование полей/классов/методов: Начни использовать camelCase для полей/методов, и PascalCase для классов.

К слову в Enum'ах используй желательно используй CAPS.
Класс Date со статик методом Date#get(); по сути и не нужен.
Можно было создать Utils.java, в котором был бы метод Utils#getFormattedDate(); просто и понятно что ты получаешь форматированную дату.

Метод Conditions#check, аналогично можно было бы запихнуть в Utils.java, - Utils#checkConditions();

С классами LogsReader, LogsWriter - абсолютно тоже самое, зачем создавать два класса в которых один метод?

SRP? Тогда уж можно создать условно класс Logs с методами Logs#writeFile(), Logs#readFile();

По поводу базы данных:
Зачем было тащить к себе в плагин лишние библиотеки?
Типа всяких HikariCP, jdbi3-sqlobject?

Всё же можно было реализовать и без них?

И постарайся не использовать паттерн Singleton, если интересно почитай об этом, синглтон - антипаттерн, об этом есть куча ресурсов и лекций.

В целом, критиковать и обсуждать код можно долго, твой плагин прикольный, но над кодом стоить хорошо поработать и посидеть.
nennikitochka
nennikitochka
1. Спасибо за отзыв
2. Жаль что ты не отметил, что это рецензия на код, а не на плагин и его функционал
3. Что такое camelCase?
4. Что такое PascalCase
5. Капс в енамах - мб буду использовать
6. Класс Date нужен. Я не хочу пихать миллиард разных методов, отвечающих за разные стороны плагина в один класс.
7. Conditions - 6 пункт
8. LogsWriter - писатель логов, LogsReader - читатель (будет в будущем), сейчас он не используется
9. Почему HikariCP и jdbi3-sqlobject лишние? 2кк запросов за 300мс не хочешь? Безусловно, можно было реализовать без них, но это говно, а не предъява.
10. Что такое паттерн Singleton? Мне не особо интересно о нём читать.
Назад
Сверху Снизу