Рубрики
Без рубрики

Эффективная Java! Проверьте параметры на достоверность

Погружение в главу 49 “Эффективная Java”. Помеченный как java, эффективный, метод, архитектура.

Эффективный обзор Java (Серия из 79 частей)

В этой главе начинается новый раздел о методах. Мы начинаем говорить о том, что влияет на все наши методы, а именно о проверке правильности параметров метода. Это проблема, которая влияет на все наше развитие. Неверные параметры при неправильной обработке могут привести к различным проблемам. От безобидных ошибок с задержкой до таких серьезных, как сохранение неверных данных и повреждение всех обрабатываемых действительных данных.

Итак, как мы можем смягчить это? Обычно это довольно просто. При вызовах наших методов мы проверяем, соответствуют ли параметры нашим допустимым ограничениям. Это может быть что-то вроде запуска параметров через Объекты.Требуется заполнение или проверка неотрицательности индекса. Наряду с написанием этих проверок в нашем коде мы также должны обновить наш Javadoc и другую документацию, чтобы объяснить, что эти проверки происходят и какие значения параметров допустимы, а какие нет.

Итак, какими методами мы должны проводить эти проверки? Есть несколько вещей, которые следует учитывать. Частные и пакетные частные методы, которые вы полностью контролируете и, следовательно, должны выполнять необходимые проверки перед вызовом, в этих методах нам не нужно выполнять проверки достоверности. Эффективная Java предлагает использовать утверждения в этих случаях вместо проверок достоверности но я никогда не находил это слишком полезным. Существуют также случаи, когда проверка достоверности может быть дорогостоящей и/или будет выполняться в обычной бизнес-логике метода.

Все это является убедительным советом и должно применяться в тех местах, где это имеет смысл. Мне кажется, что большая часть Эффективное руководство Java в значительной степени применимо к разработчикам библиотек. Хотя это очень полезно, большинство разработчиков не каждый день пишут библиотеки многократного использования с широким распространением.

Недостатком этих проверок достоверности может быть то, что код становится гораздо менее понятным. Проверка достоверности, хотя часто и является простым кодом, может быть довольно длительной. Вот где такие вещи, как различные @Nullable и @NonNull аннотации могут поступать так же, как и JSR-308. Прелесть этих инструментов в том, что они позволяют добавлять проверку, не загрязняя при этом ваш код.

Большая часть этого раздела будет посвящена написанию защитного кода. Проверка наших параметров – отличный шаг в этом направлении. Делая это, мы можем выявлять ошибки на ранних стадиях процесса, защищать нашу бизнес-логику и в целом создавать более совершенную систему.

Эффективный обзор Java (Серия из 79 частей)

Оригинал: “https://dev.to/kylec32/effective-java-check-parameters-for-validity-28c0”