すでに一部のユーザーが使用している API に変更を加える必要がある場合、おそらく最善の方法は、古い API 呼び出しを非推奨にし、新しい呼び出しの使用を奨励することです。
古い API 呼び出しの機能を削除すると、おそらく古いコードの機能が損なわれるため、「古い」API を使用している一部の開発者は不満を抱くようになるでしょう。
特定の機能が非推奨であることを示す方法が言語で提供されている場合は、ユーザーが古い API 呼び出しの使用をやめ、代わりに新しい呼び出しに移行することを示すことができます。Java では、@deprecated
javadoc タグを使用して、機能が非推奨になったことをドキュメントに記載できます。または、Java 5 以降では、@Deprecated
注釈を使用して、非推奨の API 機能の呼び出しに対してコンパイル時の警告を発生させることができます。
また、古い API から新しい API への移行に関するヒントやヒントを提供して、人々が API とやり取りする新しい方法を使用することを奨励することもおそらく良い考えです。何をすべきか、何をすべきでないかについての例とサンプル コードがあれば、API のユーザーは新しい好ましい方法に従ってコードを書くことができます。
パブリック API を変更することは困難ですが、古いものから新しいものへの移行に注意を払うことで、API を使用するユーザーの負担をある程度軽減できると考えています。
Sun のAPI を廃止する方法と時期に関する記事を次に示します。この記事では、APIの一部を廃止するのが適切な時期について、さらに詳しい情報が提供される可能性があります。
Obsolete
また、.NET の属性@Deprecated
は Java の注釈に似ていると付け加えた David Schmitt に感謝します。(残念ながら、この回答を同時に編集していたため、編集は私の編集によって上書きされました。)