差分

ナビゲーションに移動 検索に移動

副作用

28 バイト追加, 2015年3月8日 (日) 06:04
たとえば[[C Sharp|C#]]などの[[クラスベースオブジェクト指向]]における[[フィールド変数]]([[言語]]によっては[[メンバ変数]]や[[インスタンス変数]]とも呼ばれる)や[[プロパティ]]は、実質的に[[C言語]]などの[[グローバル変数]]となんら変わらなく、その内容がメソッドの動作に影響を及ぼすため、これらをすべて把握していなければ正しい利用は難しくなる。
また、[[オブジェクト指向]]では[[フィールド変数]]や[[プロパティ]]が[[クラス]]になっていることも多いため、その先々の[[フィールド変数]]や[[プロパティ]]がもたらす副作用まで同様にすべてを把握していなければならない。オブジェクト指向は小規模なうちはC言語のグローバル変数よりも影響範囲は少ないように思えるがプロジェクトが肥大化し階層構造が複雑化した後にはデスマーチへの片道切符であるといえ、まさに「がもたらす副作用まで同様にすべてを把握していなければならない。[[オブジェクト指向]]は小規模なうちは[[C言語]]における[[グローバル変数]]よりも影響範囲は少ないように思えるが、プロジェクトが肥大化し階層構造が複雑化した後には[[デスマーチ]]への片道切符であるといえ、まさに「[[階層化の有害性]]」であるともいえる。
プロジェクトの規模が小さいうちは問題になることは少ないが、複数人が関わるプロジェクトでは認識の食い違いなどが発生し、最終的に殴り合いになる。
匿名利用者

案内メニュー