Отслеживание рефакторингов в базе данных ошибки

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

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

5
задан Outlaw Programmer 10 September 2008 в 14:59
поделиться

5 ответов

Я голосую за "подхалима в рефакторингах" за подход, который является, я верю, способ осуществить рефакторинг предназначен, чтобы быть сделанным во-первых. Это - вероятно, плохая идея осуществить рефакторинг только ради "чистки кода". Это означает внесение изменений ни для какой настоящей причины. Рефакторинг, по определению, изменяет без намерения исправления ошибок или добавления опций. Если Вы следуете за принципом KISS, любая новая возможность испытывает необходимость по крайней мере в некотором рефакторинге, потому что Вы действительно не думаете о том, как сделать самую расширяемую систему возможной в первый раз вокруг.

7
ответ дан 13 December 2019 в 19:39
поделиться
  • Другое

Если Вы работаете в месте с таким негибким (и смешной) политика, лучшее решение состоит в том, чтобы найти другое задание!

0
ответ дан 13 December 2019 в 19:39
поделиться

Если Вы работаете над блоком кода, в большинстве случаев поэтому существует или исправление ошибки или новая возможность, которая требует, чтобы блок кода для изменения, и рефакторинг был или до изменения для помощи, или после изменения для уборки результата. Или в случае, можно связать рефакторинг с тем исправлением ошибки или в функцией.

2
ответ дан 13 December 2019 в 19:39
поделиться

Позволяет взглянули на каждую опцию:

  • Опишите отчет об ошибках и свяжите рефакторинг с ним.

Если Вы чувствуете, что по Вашему мнению исходный код излагает угрозу безопасности или потенциал для катастрофического отказа или нестабильности. Запишите маленький отчет об ошибках, обрисовывающий в общих чертах опасность, и затем зафиксируйте ее.

  • Опишите запрос новых функций и свяжите рефакторинг с ним.

Это могло бы быть более твердо к реакторному коду на основе запроса новых функций. Но Вы могли использовать допустимый запрос новых функций, чтобы сделать это, которое приводит меня на следующий вопрос...

  • Подхалим в рефакторингах при работе над кодом, который связан с отчетом об ошибках/запросом новых функций.

Если существует допустимая ошибка или функция, заявите, что функция x должна была быть изменением немного, чтобы исправить ошибку или добавить опцию.

  • Просто не делайте никакого рефакторинга.

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

  • Другое

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

0
ответ дан 13 December 2019 в 19:39
поделиться

Путем мы работаем, это: должно быть серьезное основание осуществить рефакторинг код, иначе почему?

Если причина состоит в том, чтобы позволить другой функции использовать тот же код, связывать изменения с запросом другой функции.

Если это должно сделать что-то быстрее, создать запрос новых функций для быстрее 'xyz' и связать изменения с тем - затем, клиенты видят, что Вы улучшаете продукт.

Если это должно разработать ошибку, зарегистрировать ошибку.

Стоит отметить, что в моей среде, политика не может быть осуществлена. Но умные менеджеры могут получить сообщения об изменениях и если у них нет bug\request ссылки в тексте фиксации, он развит.

2
ответ дан 13 December 2019 в 19:39
поделиться
Другие вопросы по тегам:

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