Найти в Дзене
Мысли программиста

Оптимизация Java кода на простом примере

Давайте посмотрим на примере простой программы на языке Java как можно оптимизировать написанный код и сделать его более читаемым и поддерживаемым.

Листинг простой программы на Java
Листинг простой программы на Java

Если мы прямо сейчас запустим ее на исполнение, то в консоли после завершения программы увидим следующее:

Результат исполнения программы.
Результат исполнения программы.

Все верно, программа отработала корректно. Но представим, что один из параметров был передан как null. Сработает проверка на null. Давайте проверим. Обратите на нижнюю строчку, на ней то, что выведено в консоль.

Результат вывода в консоль. Сработала проверка
Результат вывода в консоль. Сработала проверка

Давайте также напишем условия, которые проверяют параметры на пустоту (в них должно быть хоть что-то):

Проверки, которые необходимы, чтобы метод print() работал корректно
Проверки, которые необходимы, чтобы метод print() работал корректно

Проверки написаны. Строчка с ними разрослась. Нам нужно целых четыре проверки, чтобы исключить некорректно введенную информацию.

Каждый из двух параметров не должен быть null и должен хоть что-то при этом в себе содержать.

Для оптимизации воспользуемся методом isEmpty(String str) из пакета утилит org.apache.commons.lang.StringUtils.

Замена кода после применения метода из класса StringUtils.
Замена кода после применения метода из класса StringUtils.

Но что произошло? Точнее что такого происходит внутри метода isEmpty(...), что помогает нам сократить наши проверки и писать меньше кода? Давайте зайдем в этот метод и посмотрим вместе.

Реализация метода isEmpty() в пакете
Реализация метода isEmpty() в пакете

А здесь мы заглянули внутрь метода isEmpty(String str) и увидели его реализацию. Чудес не бывает, все логично. Внутри метода уже реализована проверка на null и на то, что строковая переменная содержит хоть какую-то информацию.

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

Пишите хороший код. Часто с ним нужно будет разбираться другим программистам позже. ))

[ПРИСОЕДИНЯЙТЕСЬ - КНОПКА 'ПОДПИСАТЬСЯ' СОВСЕМ РЯДОМ]