使用全局变量或传递方法变量的方法参数的最佳实践?

时间:2012-01-15 18:03:01

标签: android variables methods global-variables scope

在过去几个月里,为了便于阅读,我一直专注于清理代码。随着我的应用程序变得越来越大,关键是我可以处理我的变量,类,方法等。

话虽如此,我经常质疑我决定创建一个全局变量,而不是传递一个方法参数并创建一个方法变量。我发现创建本地方法变量通过“隐藏开销”来清理我的代码的其余部分,但是,我发现必须追踪和理解传递方法参数的流程。

最终,我认为最佳做法归结为通过尽可能低的水平初始化变量来创建最小的开销,基本上:

  • 只应使用多个方法中需要变量的全局变量。
  • 应该使用方法参数和方法变量,其中变量仅在所述方法中是必需的,因此对于所述方法是本地的。

这是接近全局与方法变量的简单逻辑方法吗?关于这一思路的任何建议都将非常感激。随着我的代码开始成长为数百种方法,我需要更加谨慎地以最合理的方式创建变量。

感谢您的建议!

3 个答案:

答案 0 :(得分:0)

在我所知的大多数编程语言中,使用全局变量被认为是糟糕的编程习惯。你应该尽可能使用params。如果你需要像singleton模式那样的东西。

答案 1 :(得分:0)

如果你想存储一些全局的东西,你应该扩展Application类,它是Android中的某种会话。在这个课程中,你可以存储全局的一切。

不要使用单例,这在Android中是一种不好的做法,使用Application类。

答案 2 :(得分:0)

用几句话来回答这不是一个简单的问题。使用全局变量是一种不好的做法。它导致紧密耦合的代码,使得修改或增强非常困难。对大量全局变量的需求表明您需要关注您的设计。

你提到你的代码有数百种方法。你有几节课?如果一个类中有数百个方法,那么一个类的责任就太多了。您的设计应该专注于具有明确职责的课程。每个类应该只有处理这些职责所需的数据。这反过来将导致全局变量数量的减少。如果数据显然是一个类的责任,那么它不应该是全局的,并且可以被其他类访问。​​