ソフトウェア

プラットフォームの上に劣化版のプラットフォームを作成してしまうアンチパターン「内部プラットフォーム効果」とはどういうものなのか


「ソフトウェア設計におけるアンチパターンの中に特にひどいにも関わらず文書化されていないものがある」として、ソフトウェア開発のためのハウツーガイドを提供するサイト「The Daily WTF」の設立者であるアレックス・パパディムーリスさんが「内部プラットフォーム効果(Inner-platform effect)」について投稿しています。

The Inner-Platform Effect - The Daily WTF
https://thedailywtf.com/articles/The_Inner-Platform_Effect


パパディムーリスさんは「システムをカスタマイズしすぎることで設計時に使用されたプラットフォームの粗悪なレプリカになってしまう」という現象を、「内部プラットフォーム効果」と命名しました。

内部プラットフォーム効果の代表的な例として、エンジニア以外でもデータベースを扱えるようにするためにデータ構造モデル作成アプリを作ったはいいものの、ビジネスの発展に伴って複雑な構造を導入していくうちに難しくなりすぎてエンジニアにしか扱えなくなったうえ、エンジニアが特定のアプリの使い方を習得する必要があったりチューニングができず一般的なRDBMSの性能に敗北したりするなどの現象を挙げています。


内部プラットフォーム効果はWikipedia上にもページが存在しており、ここではその他の事例も紹介されています。

Inner-platform effect - Wikipedia
https://en.wikipedia.org/wiki/Inner-platform_effect


例えばXMLにおいて一般的な要素名を使用し、属性を利用して意味を持たせる場合がありますが、そうした場合には意味をフィルターするために複数の属性を結合する必要があり、XPath式が複雑になったり評価の効率が低下したりします。

なお、内部プラットフォームが常に問題というわけではなく、内部プラットフォームを適切に使用することでJavaのように外部のプラットフォームに影響を与えることなくアプリケーションを稼働させたり、一つのアプリケーションをさまざまな外部プラットフォームで稼働させたりすることが可能となるため、つまりは適切な使用が大切というわけです。

この記事のタイトルとURLをコピーする

・関連記事
オープンソースのプロジェクトを成功させるために避けるべき12のこと - GIGAZINE

手軽にできるスマホのハッキング対策は「再起動」すること - GIGAZINE

Googleがコードレビューにおいてスムーズにコミュニケーションを進めるための注意点を公開 - GIGAZINE

GPT-4で新しいプログラミング言語「TenetLang」を生み出す、チャットAIは既にプログラミングの何たるかをかなり理解している模様 - GIGAZINE

組織が倫理崩壊を起こす際に示す7つの兆候 - GIGAZINE

in ソフトウェア, Posted by log1d_ts

You can read the machine translated English article here.