Код: Выделить всё
logger.debug("Got {} row{}", rows, rows == 1 ? "" : 's');
Итак, я думаю о методе, который возвращал бы всю строку «1 строка» или «5 строк» в зависимости от значения. Статическая строка print(int value, String name) проста в использовании, но утомительна в использовании, она будет вызываться как printable(rows, "row"), что избыточно для любого, кто читает код.
Возможно, в Java достаточно одного аргумента? Один из:
- — вызываемый метод ищет имя переданной ему переменной, чтобы создать существительное (единственное или множественное число в зависимости от значения).
Код: Выделить всё
printable(rows) - — вызываемый метод ищет значение переменной в области вызывающего объекта (по указанному имени)?
Код: Выделить всё
printable("rows")
Код: Выделить всё
#define PRINTABLE(val) printable(val, #val)
Было бы неплохо, если бы все это можно было пропустить, если текущий уровень журнала в любом случае недостаточно многословно, чтобы фактически вывести запись журнала.
Подробнее здесь: https://stackoverflow.com/questions/789 ... l-variable
Мобильная версия