/note/tech

思慮の浅い人々がグローバル変数に手を出してしまう理由

「グローバル変数とか使うと、モジュールが実際には密結合になって、個々のモジュールの状態遷移がコントールしきれなくなる(人知を超えた複雑さになる)」、「依存関係は、網目は避けてせめてツリーにしておこう」、とかあるわけですよ。

@Tanaka9230

同じことが、大粒度のコンポーネント構造にも言えるし、業務のデータフローにも言えるわけです。

モジュール間にまずインターフェースを定義しようという話と、業務のデータフロー上の受け渡し情報を"伝票"的にモデル化するという話は、同じ話なわけです。

@Tanaka9230

一般に、ツリー構造を維持しつつ依存関係をメンテするのは、ツリーを維持するのを放棄してやるより高コストなわけです。

グローバル変数を直接参照できるところを、いちいち引数渡しにする方が、初期コストは高いわけです。

@Tanaka9230