アンチパターン

2015年8月25日

アンドリュー・コーニグは、インターネットで入手できなくなったJOOP[1]の記事で「アンチパターン」という用語を最初に造語しました。本質的な考え(私自身の記憶によると[2])は、アンチパターンは当初は優れた考えのように思われますが、問題に遭遇することです。それ以来、この用語は単に悪いアイデアを示すために頻繁に使用されていますが、元の焦点がより有用であると思います。

コーニグはこの論文で述べています。

アンチパターンはパターンに似ていますが、ソリューションの代わりにソリューションのように見えるが、そうではないものを提供します。

-- アンドリュー・コーニグ

これにより、優れたアンチパターンは、単に指摘して笑う悪いものとは別に位置づけられます。それらが優れたソリューションのように見えるという事実が本質的な危険です。それが優れているように見えるため、賢明な人々はその道を選択します。努力を注いで初めてそれが悪い結果であることがわかります。

アンチパターンの説明を記述するときは、間違った道を進んだ場合に問題から抜け出す方法を説明することが重要です。私はそれが有用だが必須ではないと考えています。それを解決する適切な方法がない場合でも、警告の価値が損なわれることはありません。

同じソリューションが、あるコンテキストでは優れたパターンとなり、別のコンテキストではアンチパターンになる可能性があることを覚えておくことは有用です。ソリューションの価値は、それを使用するコンテキストによって異なります。

1: オブジェクト指向プログラミングジャーナル、第8巻、第1号。 1995年3月/ 4月。その後、リンダ・ライジング(ケンブリッジ大学出版局)が編集した「パターンハンドブック」に再掲載されました。

2: 私は論文のコピーを持っていないので、主に記憶と古いメモから書いています。