2015-09-04 3 views
-1

У меня есть сомнение в том, какой вариант будет лучшим, чтобы иметь более понятный код. У меня есть переменная, которая будет использоваться только внутри одного метода, но, поскольку эта переменная является переменной конфигурации, я думаю, было бы хорошо, что это было бы глобальным. Поэтому я создал его в верхней части класса как: private final int VARIABLE = 5000;Поле для локальной или глобальной переменной

Но тогда, когда эта переменная используется только один раз, Android Studio запускает предупреждение, в котором говорится: «Поле может быть преобразовано в локальную переменную». Считаете ли вы, что лучше сохранить эту переменную как глобальную (чтобы быть более понятной для будущего), или лучше установить ее как локальную переменную?

Заранее благодарен!

+0

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

+0

Или его следует определять как константу: private ** static ** final int VARIABLE = 5000; –

ответ

0

Сохраните все переменные, которые не будут меняться, например, строки базового url и т. Д. В отдельном файле java в отдельном пакете, таком как Utils. Поместите всю свою переменную туда и сделайте их статичными, чтобы вы могли напрямую обращаться к ним с помощью имени класса.

+0

Это действительно хорошее решение IMO. Не понимаю отрицательного голоса. –

+0

Это ужасный совет. Константы должны быть определены в классе, в котором они принадлежат. Не в одном классе. Представьте размер такого класса и имена констант, если JDK сохранил все свои константы в одном классе. Представьте себе, как ужасно было бы найти правильный. –

+0

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

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