2013-05-09 2 views
1

мне было интересно, каковы основные причины почему затмение предупреждает разработчиков о следующих вещах:причиной двух предупреждений затмений

  1. Значение локальной переменной ххх не используется
  2. ххх импорт никогда не использовался

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

Спасибо!

+2

Я думаю, что это единственная причина. Вы можете отключить их в разделе «Настройки». – nullptr

+1

Чтобы разработчик ** знал **, что есть что-то, что он, вероятно, не сделал ни по упущению, ни из-за некоторой измененной логики программирования. –

+1

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

ответ

1

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

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

Но, как правило, хороший стиль кодирования не имеет неиспользованного кода;

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

1

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

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

1

Значение локальной переменной ххх не используется

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

импорт XXX никогда не используется

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

+1

Я предполагаю, что это просто уменьшит площадь памяти. С импортом мой учитель по программированию сказал, что он может оставить доступным для хакеров доступ, и поэтому вы никогда не должны импортировать целые пакеты, например '. *' – greenkode

1

Это предотвращает вас, что вы написали Unnecessary code. По help of Eclipse (Ошибки Java Compiler/Предупреждающие Preferences) это говорит:

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

0

вы излишне declared/imported в variable/import.

Удаление их держит уборщика кода и проще в read.By умолчанию Eclipse, предупреждает о неиспользуемых частных переменных и методов.

Но не изменяйте эти предостережения. Полезно определить ваш неиспользованный код.

+0

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

+0

Он говорит удалить неиспользованный import.Not функции iguess. –

+0

Но есть предпочтения, когда вы нажимаете ctrl + s, я имею в виду save в eclipse, вы можете назначить задачу там, например, удалить неиспользуемые импорты, форматировать код ..etc ... но вы должны знать, какие ошибки вы делаете, видя их в затмении. –

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