2011-04-02 56 views
42

在最近與同學們的對話中,我一直主張避免使用全局變量,除非存儲常量。這是一種典型的應用統計類型程序,其中每個人都編寫自己的代碼,項目規模也很小,所以人們很難看到習慣不穩定造成的麻煩。R和Stata中全局危險的例子

在談到避免全局的,我專注於以下原因全局可能會引起麻煩,但我想在R和/或塔塔一些例子去的原則(以及其他您可能認爲重要的原則),而且我很難提出可信的原則。

  • 非局部性:全局使調試困難,因爲它們使理解的代碼難於流動
  • 隱式耦合:全局通過允許的代碼遠段
  • 命名空間碰撞之間複雜的相互作用破壞功能的編程的簡易性:俗名(X,I,等等)得到重新利用,造成命名空間衝突

在這個問題上有用的答案將是可重複的,自我包含的代碼片段在全局引起特定類型的TR最好用另一個代碼片段來解決問題。如有必要,我可以生成更正的解決方案,所以問題的例子更重要。

相關鏈接

Global Variables are Bad

Are global variables bad?

回答