2013-06-10 2 views
0

Что будет более понятно и почему? (С использованием библиотеки Apache Commons)Как написать чистый код в инструкции «if»?

В коде ниже логики тот же:

if(!ArrayUtils.isEmpty(someArray)) { 
    some code here ... 
} 

//or this variant 
if(ArrayUtils.isNotEmpty(someArray)) { 
    some code here ... 
} 

Большое спасибо!

+2

Задайте это на CodeReview. – mwerschy

+2

Второй вариант - более чистый. Чистый код не должен содержать '!' Или '! ='. – darijan

+0

Да для меня это также более понятно с использованием второго варианта, но в соответствии с правом названия названия java без имени. http://geosoft.no/development/javastyle.html#Specific –

ответ

1

Я голосую за вариант №2. Его легче читать. Понятно, что Commons добавила этот метод точно для того, чтобы не использовать параметр №1.

0

Я также думаю, что вариант 2 лучше, так как он более читабельен. Я не вижу разницы в производительности в этих двух вариантах.

+0

вопрос был не о производительности, а о чистоте i.e. удобочитаемости;) –

2
  1. Второй (с использованием isNotEmpty) читается как простой английский, что является главным его преимуществом.
  2. Если библиотека, которую вы используете, обеспечивает точную функциональность, которая вам нужна, чем вы должны ее использовать (это в вашем примере).
  3. В вашем конкретном случае ArrayUtils проверка того, что массив не пуст или null, является настолько обычным случаем, что дизайнер API предложил добавить к нему отдельную функцию.

Любой дурак может написать код, который может понять компьютер. Хорошие программисты пишут код, который люди могут понять. - Martin Fowler

+1

Продолжить: Код будет читаться еще много раз, чем написано. Напишите для удобочитаемости. –

Смежные вопросы