Там польза является автоматизированными платформами для применения стандартов кодирования в Perl?

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

9
задан Ether 1 November 2009 в 03:15
поделиться

7 ответов

С точки зрения устанавливания профиля имейте Вас попробованный perlcritic --profile-proto? Это испустит к stdout все Ваши установленные политики со всеми их опциями с описаниями обоих, включая их значения по умолчанию, в perlcriticrc формате. Сохраните и отредактируйте для соответствия тому, что Вы хотите. Каждый раз, когда Вы обновляете Perl:: Критик, можно хотеть выполнить эту команду снова и сделать разность с текущим perlcriticrc, таким образом, Вы видите любые изменения в существующих политиках и берете любые новые.

С точки зрения выполнения perlcritic регулярно, настраивает Тест:: Perl:: тест Критика наряду с остальной частью Ваших тестов. Это хорошо для нового кода.

Для Вашего существующего кода используйте Тест:: Perl:: Критик:: Прогрессивный вместо этого. T::P:: C:: Прогрессивный успешно выполнится в первый раз, когда Вы выполняете его, но сохраните, рассчитывает на количество нарушений; после этого, T::P:: C:: Прогрессивный будет жаловаться, повышается ли какое-либо из количеств. Одна вещь высматривать состоит в том, когда Вы возвращаетесь изменения в своей системе управления исходным кодом. (Вы используете один, не так ли?) Говорят, что я регистрируюсь в изменении и запускаю тесты, и мои изменения сокращают количество P:: C нарушения. Позже, оказывается, что мое изменение было плохо, таким образом, я возвращаюсь к старому коду. T::P:: C:: Прогрессивный тест перестанет работать из-за уменьшенных количеств. Самая легкая вещь сделать в этой точке состоит в том, чтобы просто удалить файл истории (местоположение по умолчанию t/.perlcritic-history) и работать снова. Это должно воспроизвести Ваши старые количества, и можно записать новый материал для перевода в нерабочее состояние их снова.

Perl:: у Критика есть много политик, которые поставлются с ним, но существует набор дополнительных дистрибутивов политик. Взгляните на Задачу:: Perl:: Критик и Задача:: Perl:: Критик:: IncludingOptionalDependencies.

У Вас не должно быть единственного дескриптора perlcriticrc весь Ваш код. Создайте отдельные perlcriticrc файлы для каждого набора файлов, которые Вы хотите протестировать и затем отдельный тест, который указывает каждому. Для примера взгляните на тесты автора для P:: C самостоятельно по http://perlcritic.tigris.org/source/browse/perlcritic/trunk/Perl-Critic/xt/author/. Когда тесты автора запущены, существует тест, который работает на основе всего кода P:: C, второй тест, который применяет дополнительные правила только о политиках и третьей, которая критикует P:: тесты C.

Я лично думаю, что все должны работать на "жестоком" уровне серьезности, но выводить из строя политики, с которыми они не соглашаются. Perl:: Критик не полностью сам совместим; даже P:: C разработчики не соглашаются со всем, что Conway говорит. Посмотрите на perlcriticrc файлы, используемые на Perl:: Критик самостоятельно и поиск Perl:: код Критика для экземпляров "## никакой критик"; я количество 143 в настоящее время.

(Да, я - один из Perl:: разработчики Критика.)

12
ответ дан 4 December 2019 в 08:17
поделиться

Существует perltidy для большинства стилистических стандартов. perlcritic может быть легко настроен с помощью .perlcritic файла. Я лично использую это на уровне один, но я отключил несколько политик.

5
ответ дан 4 December 2019 в 08:17
поделиться

В дополнение к 'автоматизированным платформам', я настоятельно рекомендую Лучшие практики Perl Damian Conway. Я не соглашаюсь с 100% того, что он предлагает, но большую часть времени он, барабанят.

4
ответ дан 4 December 2019 в 08:17
поделиться
2
ответ дан 4 December 2019 в 08:17
поделиться

Сообщение выше упоминания Devel:: Профессор, вероятно, действительно имеет в виду Devel:: Покрытие (для получения покрытия кода набора тестов).

2
ответ дан 4 December 2019 в 08:17
поделиться

Хорошая комбинация является perlcritic с EPIC для Eclipse - CTRL-SHIFT-C хита (или Ваш предпочтительный настроенный ярлык) и Ваш код повышен с индикаторами предупреждения везде, где perlcritic нашел, что что-то жалуется на. Намного более хороший, чем то, чтобы не забывать выполнить его перед регистрацией. И как нормальное с perlcritic, это возьмет Ваш .perlcriticrc, таким образом, можно будет настроить правила. Мы сохраняем наш .perlcriticrc в управлении версиями, таким образом, все получают те же стандарты.

1
ответ дан 4 December 2019 в 08:17
поделиться

В дополнение к косметическим лучшим практикам я всегда нахожу полезным выполнить Devel:: Профессор на моем комплекте модульного теста к покрытию контрольного испытания.

0
ответ дан 4 December 2019 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: