Комментарий кодирует, который удален [закрытый]

Исключение нулевого указателя генерируется, когда приложение пытается использовать 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

34
задан 9 revs, 5 users 40% 5 October 2018 в 17:22
поделиться

28 ответов

Обычно код, который удален, не должен быть прокомментирован, точно потому что он создает помехи кодовой базе (и, почему можно было бы прокомментировать что-то, что не существует?).

Ваша дефектная система слежения или инструменты управления управления исходным кодом - то, где такие комментарии принадлежат.

106
ответ дан David Koelle 27 November 2019 в 15:49
поделиться

Где я в, мы комментируем старый код для одного цикла выпуска и затем удаляем комментарии после этого. (Это дает нам способность к быстрому исправлению, если часть нового кода проблематична и должна быть заменена старым кодом.)

0
ответ дан The Sasquatch 27 November 2019 в 15:49
поделиться

Я также думаю, что это - ужасное предложение:)

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

0
ответ дан 2 revs, 2 users 80% 27 November 2019 в 15:49
поделиться

Существует общий "чистый код" практика, которая говорит, что никогда не нужно иметь в наличии удаленный код, как прокомментировано, так как это создает помехи и так как Ваш CVS/SVN заархивировал бы его так или иначе.

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

Комментирование кода как этот могло быть способом предложить общее предупреждение, что это собирается быть удаленным, но конечно, нет никаких гарантий, что заинтересованные стороны когда-либо видели бы, что предупреждение (хотя, если они часто работают с тем файлом, они будут видеть его).

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

0
ответ дан Uri 27 November 2019 в 15:49
поделиться

Я согласовываю с Вами Andrew; IMO, который это - то, почему Вы используете управление версиями. С хорошей регистрацией/фиксацией комментирует и различный инструмент, который можно всегда узнавать, почему строки были удалены.

0
ответ дан Patrick Cuff 27 November 2019 в 15:49
поделиться

При использовании какой-либо формы Управления исходным кодом тогда, этот подход несколько избыточен (как долго, поскольку описательные сообщения журнала используются)

0
ответ дан DilbertDave 27 November 2019 в 15:49
поделиться

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

0
ответ дан LuRsT 27 November 2019 в 15:49
поделиться

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

1
ответ дан John with waffle 27 November 2019 в 15:49
поделиться

Немного истории, для забавы: Я был в компании, несколько лет назад, не зная ничего из управления версиями исходного кода (они получили такой инструмент позже...).
, Таким образом, у них было правило в наших источниках C: "когда Вы вносите изменение, отключаете старый код с макросами препроцессора":

#ifdef OLD /* PL - 11/10/1989 */
void Buggy()
{
// ...
}
#else
void Good()
{
// ...
}
#end

Никакая потребность сказать, наши источники быстро стали нечитабельными! Это был кошмар для поддержания...
Вот почему я добавил к SciTE возможность перейти между вложенным #ifdef / #else / #end и таким... Это может быть все еще полезно в более регулярных случаях.
Позже, я записал макрос Visual Studio для счастливого избавлений от старого кода, как только мы получили наш VCS!

Теперь, как buti-oxa, когда-то я чувствовал потребность указать, почему я удалил некоторый код. По той же причине, или потому что я удаляю старый код, который я чувствую, больше не необходим, но я не слишком уверен (наследие, наследие...). Очевидно, не во всех случаях!
я не оставляю такой комментарий, на самом деле, но я могу понять потребность.
В худшем, я прокомментировал бы в одной версии и удалил бы все в следующей версии...
На моей текущей работе, для важных локальных изменений, мы оставляем старый код, но можем повторно активировать его свойствами в случае крайней необходимости. После тестирования его некоторое время в производстве мы в конечном счете удаляем старый код.

, Конечно, комментарии VCS являются наилучшим вариантом, но когда изменение является несколькими строками в большом файле с другими изменениями, ссылание на небольшое удаление может быть трудным...

1
ответ дан PhiLho 27 November 2019 в 15:49
поделиться

Это - одно из тех "разбитых" окон thinkgs как подсказки/предупреждения компилятора, оставленные необращенными. это причинит Вам боль один день, и это способствует небрежности в команде.

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

1
ответ дан MikeJ 27 November 2019 в 15:49
поделиться

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

1
ответ дан David Arno 27 November 2019 в 15:49
поделиться

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

не замусорили активный код мертвым кодом.

1
ответ дан John Topley 27 November 2019 в 15:49
поделиться

Я соглашаюсь, что это - ужасное предложение. Вот почему у Вас есть Управление исходным кодом, которое имеет изменения. Если необходимо возвратиться и видеть то, что было изменено между двумя изменениями, разность эти два изменения.

1
ответ дан LeppyR64 27 November 2019 в 15:49
поделиться

Почти во всех случаях старый код должен, конечно, быть удален и прослежен в Вашем RCS.

Как все вещи, хотя, я думаю, что создание оператора 'All deleted code will ALWAYS be removed' является неправильным подходом.

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

Доверие источнику, отслеживающему, очевидно, не дает это.

Так, я полагаю, что корректный ответ:

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

0
ответ дан Troy 27 November 2019 в 15:49
поделиться

Если Вы удаляете код. Вы не должны комментировать его, что Вы удалили его. Это - вся цель управления исходным кодом (Вы используете управление исходным кодом? Право?), и как Вы заявляете, комментарий просто загромождает код.

1
ответ дан grieve 27 November 2019 в 15:49
поделиться

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

я также присваиваю версию своему коду. Я предполагаю, что мог сделать diffs по последним двадцати checkins, чтобы видеть, изменилась ли конкретная строка по конкретной причине. Но это было бы огромной пустой тратой моего времени для большинства изменений.

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

   // this is now handled by the heartbeat thread
   // m_data.resort(m_ascending);

Или:

   // don't re-sort here, as it is now handled by the heartbeat thread

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

   cutoff = m_previous_cutofftime;

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

   cutoff = (!ok_during) ? m_previous_cutofftime : 0;

, Конечно, другая несвязанная проблема подошла, который, оказалось, коснулся той же строки кода в этом случае, возвращающемся ее назад к его исходному состоянию. Таким образом, новая проблема была теперь устранена, но старая проблема внезапно стала повторно поврежденной. D'oh!

Поэтому теперь зарегистрированный код похож на это:

   // this works for overlong events but not resuming
// cutoff = m_previous_cutofftime;
   // this works for resuming but not overlong events
// cutoff = (!ok_during) ? m_previous_cutofftime : 0;
   // this works for both
   cutoff = (!resuming || !ok_during) ? m_previous_cutofftime : 0;

, Конечно, YMMV.

2
ответ дан CompaniaHhill 27 November 2019 в 15:49
поделиться

Никто здесь не записал очень [приблизительно 110], почему Вы не должны оставлять прокомментированный код, кроме которого это выглядит грязным. Я думаю, что самая большая причина состоит в том, что код, вероятно, прекратит работать. Ничья компиляция его. Ничье выполнение его через модульные тесты. Когда люди осуществляют рефакторинг остальную часть кода, они не осуществляют рефакторинг его. Настолько симпатичный скоро, это собирается стать бесполезным. Или хуже, чем бесполезный - кто-то мог бы не прокомментировать его, вслепую положив, что это работает.

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

2
ответ дан JW. 27 November 2019 в 15:49
поделиться

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

я настоятельно рекомендую комментирование кода для того, чтобы отладить или запустить другие тесты, но после того, как окончательное решение было принято, удаляют его из файла полностью!

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

2
ответ дан JoshFinnie 27 November 2019 в 15:49
поделиться

Я предположил бы, что, да это - хорошая практика для комментария кода, который был удален, но не в самом коде .

Для дальнейшего разъяснения этого положения необходимо использовать систему управления исходным кодом (SCCS), которая позволяет некоторую форму комментария регистрации. Это - то, куда необходимо поместить комментарии о том, почему код был удален. SCCS предоставит полную контекстную историю того, что произошло с кодом, включая то, что было удалено. Путем добавления регистрации комментирует, что Вы далее разъясняете ту историю.

Добавляющие комментарии в коде непосредственно просто ведет для создания помех.

2
ответ дан Scott Dorman 27 November 2019 в 15:49
поделиться

Недавнее согласие (из других обсуждений здесь) состоит в том, что код должен просто быть удален.

я лично прокомментирую код и отмечу его с датой или причиной. Если это старо/устаревшее, и я прохожу через файл, то я разделяю его. Управление версиями делает возвращение легкого, но не столь легким как некомментарий...

2
ответ дан Brian Knoblauch 27 November 2019 в 15:49
поделиться

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

2
ответ дан Ryan Lundy 27 November 2019 в 15:49
поделиться

Вопрос, почему Вы удаляете код?

действительно ли это бесполезно? Действительно ли это была ошибка поместить его там во-первых?

Никакие комментарии не необходимы с моей точки зрения.

3
ответ дан Burkhard 27 November 2019 в 15:49
поделиться

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

// removed because of this and that
/* 
      removed this stuff because my left leg...
*/
 doSomething();
// this piece of has been removed, we don't need it...

Вы проведете полчаса для обнаружения то, что продолжается

4
ответ дан andy.gurin 27 November 2019 в 15:49
поделиться

Зависит от причины удаления.

я думаю о комментариях как о подсказках для людей, поддерживающих код в будущем, если информация, которой код был там, но был удален, может быть полезна кому-то поддерживающему код (возможно, поскольку "не делают того" знака), тогда, это должно быть там.

Иначе добавление подробно изложило комментарии с именами, и даты на каждом изменении кода просто делают все это нечитабельным.

6
ответ дан Nir 27 November 2019 в 15:49
поделиться

Необходимо всегда удалять код.

Что касается способности видеть старый/удаленный код, это - каково управление версиями.

8
ответ дан Marko 27 November 2019 в 15:49
поделиться

Я соглашаюсь, что это не хорошая идея оставить код удаленным в комментариях.

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

14
ответ дан Avi 27 November 2019 в 15:49
поделиться

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

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

2
ответ дан DaveB 27 November 2019 в 15:49
поделиться

Существуют некоторые (редкие) ситуации, когда комментирование кода (вместо того, чтобы удалить) является хорошей идеей. Вот тот.

у меня была строка кода, который казался хорошим и необходимым. Позже я понял, что это является ненужным и вредным. Вместо того, чтобы удалить строку, я прокомментировал его, добавив другой комментарий: "Строка ниже является неправильной при такой и такая причина". Почему?

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

29
ответ дан buti-oxa 27 November 2019 в 15:49
поделиться
Другие вопросы по тегам:

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