程式設計師都知道應該「避免使用全域變數」,事實上,對所有的變數而言「縮限範圍」都是很好的建議,不限於全域變數。
重要概念
儘可能減少可以看到變數的程式碼行數。
class LargeClass {
    string str_;
    
    void Method1() {
        str_ = ...;
        Method2();
    }
    
    void Method2() {
        // 使用str_
    }
    
    // 其他許多不會用到 str_ 的方法
};
就某方面而言,類別成員變數就像是內部的「小型全域」空間;特別是對很大的類別而言,很難記得所有的成員函數以及它們被哪地方修改,愈少小型全域變數愈好。對這個範例來說,可以讓 str__ 「退化」成為區域變數:
class LargeClass {
    void Method1() {
        string str_= ...;
        Method2(str);
    }
    
    void Method2(string str) {
        // 使用str_
    }
    
    // 其他許多不會用到 str_ 的方法
};