簡體   English   中英

使用全局變量或將方法參數傳遞給方法變量的最佳實踐?

[英]Best Practices Using Global Variables or Passing Method Arguments to Method Variables?

在過去的幾個月中,我一直致力於清理代碼以提高可讀性。 隨着我的應用程序變大,對變量,類,方法等進行處理至關重要。

話雖如此,我經常質疑我創建全局變量而不是傳遞方法參數和創建方法變量的決定。 我發現創建本地方法變量可以通過“隱藏開銷”來清理代碼的其余部分,但是,我發現必須跟蹤和理解傳遞方法參數的流程,這是一個折衷方案。

最終,我相信最佳實踐歸結為通過以盡可能低的級別初始化變量來創建最小開銷的方法,本質上是:

  • 一個人應該只使用全局變量,在多種方法中都需要該變量。
  • 一個人應該使用一個方法參數和一個方法變量,其中該變量僅在所述方法中是必需的,因此對於所述方法是局部的。

這是處理全局變量與方法變量的簡單邏輯方法嗎? 對此思路的任何建議將不勝感激。 隨着我的代碼開始發展成數百種方法,我需要更加小心以最合乎邏輯的方式創建變量。

感謝您的意見!

在我所知道的大多數編程語言中,使用全局變量被認為是不良的編程習慣。 您應該盡可能使用params。 如果有的話,您需要類似singleton模式的東西。

如果要存儲一些全局的東西,則應該擴展Application類,這是Android中的某種會話。 在此類中,您可以將所有內容存儲在全局范圍內。

而且不要使用單例,這在Android中是一種不好的做法,請使用Application類。

用幾個句子回答這個問題並不容易。 使用全局變量是一種不好的做法。 它導致緊密耦合的代碼,並且使其很難修改或增強。 對大量全局變量的需求表明您需要專注於設計。

您提到了具有數百種方法的代碼。 你有幾節課? 如果單個類中有數百種方法,那么該類的職責太多。 您的設計應重點放在具有明確職責的類上。 每個類別應僅具有處理這些職責所需的數據。 反過來,這將導致減少全局變量的數量。 如果數據顯然是一類的責任,那么它就不應是全局的,其他類也不能訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM