Loading article…
ソフトウェア工学の基本定理(FTSE )は、バトラー・ランプソン[1]の発言をアンドリュー・ケーニッヒが説明するために考案した用語であり、デビッド・J・ウィーラー[2]に帰属するものである。
「間接レベルを追加することで、あらゆる問題を解決できます。」
この定理は、証明できる実際の定理を記述するものではなく、抽象化を通じて複雑さを管理するための一般原則です。
この定理は、しばしば「…間接レベルが多すぎるという問題を除いて」というユーモラスな節で拡張され、抽象化が多すぎるとそれ自体が固有の複雑さの問題を引き起こす可能性があるという事実に言及している。たとえば、今日ではいたるところで見られるコンピュータネットワークにおけるプロトコル階層化の使用は、抽象化のより一般的な欠点の典型である形で批判されてきた。[3]ここで、間接レベルを追加することで、上位層が下位層の機能を複製し、非効率につながる可能性があり、また、ある層の機能には別の層にのみ存在するデータが必要になる可能性があり、これは異なる層に分離するという目標に根本的に違反している。
参考文献
- ^ デヴィッド・エイブラハムズ;グルトヴォイ、アレクセイ (2005)。C++ テンプレート メタプログラミング。アディソン・ウェスリー。 p. 13.
- ^ ランプソン、バトラー。「コンピュータシステム設計の原則」。
- ^ Wakeman, I.; Crowcroft, J.; Wang, Z.; Sirovica, D. (1992 年 1 月)。「レイヤリングは有害か?」IEEE ネットワーク: 20– 24。doi : 10.1109/65.120719。S2CID 6631446 。
