Наилучшие практики использования глобальных переменных или передачи аргументов метода в переменные метода? - PullRequest
1 голос
/ 15 января 2012

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

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

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

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

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

Спасибо за ваш совет!

Ответы [ 3 ]

0 голосов
/ 15 января 2012

Если вы хотите сохранить какую-то глобальную вещь, вы должны расширить класс Application, это своего рода сеанс в Android.В этом классе вы можете хранить все глобальное.

И не используйте синглтон, это плохая практика в Android, используйте класс приложения.

0 голосов
/ 16 января 2012

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

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

0 голосов
/ 15 января 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...