Утверждения Java недостаточно используются - PullRequest
65 голосов
/ 18 ноября 2008

Мне интересно, почему ключевое слово assert так мало используется в Java? Я почти никогда не видел, чтобы они использовались, но я думаю, что они отличная идея. Я определенно предпочитаю краткость:

assert param != null : "Param cannot be null";

к многословию:

if (param == null) {
    throw new IllegalArgumentException("Param cannot be null");
}

Я подозреваю, что они недостаточно используются, потому что

  • Они прибыли относительно поздно (Java 1.4), к тому времени многие люди уже установили свой стиль / привычку программирования на Java
  • По умолчанию они отключены во время выполнения

Ответы [ 11 ]

0 голосов
/ 18 ноября 2008

На самом деле они прибыли в Java 1.4

Я думаю, что основная проблема заключается в том, что когда вы кодируете в среде, где вы сами не управляете опциями jvm, например, на серверах eclipse или J2EE (в обоих случаях можно изменить опции jvm, но вам необходимо выполнить глубокий поиск в найти, где это можно сделать), проще (я имею в виду, что это требует меньше усилий) использовать if и исключения (или, что еще хуже, ничего не использовать).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...