894
技術社區[雲棲]
C++編程規範之10:盡量減少全局和共享數據
摘要:
共享會導致衝突,避免共享數據,尤其是全局數據。共享數據會增加耦合度,從而降低可維護性,通常還會降低性能。
全局變量和靜態變量會使程序的邏輯變得更加複雜,使程序不同的部分耦合的更加緊密。共享數據對單元測試會產生不良影響,因為使用共享數據的代碼片段的正確性不進取決於數據變化的過程,更取決於以後會使用該數據的未知代碼區域的機能。
全局名字空間中的對象名稱還會汙染全局名字空間。
在必須使用全局的、名字空間作用域的或者靜態的類對象,一定要仔細地對其進行初始化。在不同編譯單位中這種對象的初始化順序是去不一樣的。
名字空間作用域張紅的對象、靜態成員對象或者跨線程或者跨進程共享的對象會減少多線程和多處理器環境中的並行性,往往是產生性能和可伸縮性瓶頸的原因。
應該盡量降低類之間的耦合,盡量減少交互。最後更新:2017-04-03 12:53:36