ホームページ  >  記事  >  php教程  >  再利用性を考慮したデザインをしない

再利用性を考慮したデザインをしない

WBOY
WBOYオリジナル
2016-06-21 08:50:131200ブラウズ

この記事の著者であるエリオットは、中国で「HTML の再構築: Web アプリケーションのデザインの改善」など、プログラミングに関する 20 冊以上の本を出版している著名な IT ライターです。現在、彼は XML プロセッサ XOM、jaxen XPath エンジン、およびアマチュア メディア プレーヤーに取り組んでいます。

以下はテキストです:

先週、あまりにも明白な指摘をした同僚にインスピレーションを受けました。彼が言ったとき、なぜ今まで気づかなかったのかと不思議に思いました。再利用、やり方が間違っています。

これから作成するコードの唯一の目的は、解決する必要があるタスクを実行することです。再利用を目的としたデザインはしないでください。再利用については考えないでください。コードを再利用しようとして一秒も無駄にしないでください。

実際、必要な再利用可能なコードはすべてすでに存在しています。セキュリティ認証と Cookie を完全にサポートする HTTP サーバーに接続したいですか?これは多くのプロジェクトで使用できそうなので、これを使いやすい HTTP クラスまたは共有パッケージにカプセル化するのは良い考えではないでしょうか。間違っている。 Apache HttpClient を使用する必要があります。

放物線法の初期値問題を解く必要がありますか? 「数値解析の教科書」に目を通す代わりに、Flanagan の Java 科学計算ライブラリをダウンロードするか、NAG ライセンスを購入する必要があります。同僚向けにカレンダー選択コンポーネントを作成したいですか? JCalendar を使用するように伝えてください。見た目や使用感は想像していたものとは違いますが、十分満足です。独自のコンポーネントを作成する予定がある場合、または既存のコンポーネントを見つけて変更する場合は、開発したさまざまなパフォーマンス効果が他の人のアプリケーションには適していないことがわかるため、再利用可能な独自のコードの開発に時間を無駄にしないでください。

これらの例はすべて Java 用ですが、Perl、Python、Ruby、C++、C#、Scala などの他の主流言語にも適用できます。実際、問題を解決する再利用可能なコードが言語に提供されていない場合は、問題を解決するために間違った言語を選択したことになります。

例外はありますか?私には 2 つしか思いつきません (今のところ 3 つ目のシナリオはないと思います)。

最初の例外は、新しいものを開発している場合です。このフィールドに最初に入力するのはあなたです。たとえば、私が最初に XInclude クラス ライブラリを開発したとき、XInclude 仕様はまだ開発中であり、Java で利用できる 2 番目のクラス ライブラリは見つかりませんでした。私が書いたクラスライブラリは、仕様が実現可能であることの一種の証明となり、仕様の開発をより完成度の高い状態へと推し進めました。 10 年前に独自の XInclude ライブラリを開発するのは賢明だっただろうし、今では二度と開発することはないだろう。

2 番目の例外は 専門家向け ですが、それが例外なのかどうかはまだわかりません。あなたが特定の分野の真の専門家であり、その分野の問題を解決できる再利用可能なコードを持っていて、既存のソリューションを注意深く研究しており、それらは不完全であると考えており、より良いソリューションを探しているのであれば、あなたはそうします。 、その場合にのみ、独自の再利用可能なコードを作成することを検討してください。これが私が XOM を開発した理由です。何百ページもの原稿を書き、Java で XML を処理するためのさまざまな API を注意深く収集し、それらの長所と短所を知って初めて、それらを改善するために腰を据えて API を設計する必要があると感じました。私が設計した API は世の中で最高の API だと思っていますが、それに時間を費やす価値があるかどうかはまだわかりません。私の意見では、XOM は以前のどの API よりも優れていますが、他の多数のプロジェクトの他のライブラリを置き換えるほど十分ではありません。この新しい API の需要はそれほど大きくありません。

他に例外はありますか?再利用可能なコードを記述する必要がある別の状況はありますか?何も思いつきません。私たちの生活の中の問題の探索に多くの時間を費やし、その結果を Sourceforge や Github などのサイトで無料で共有しているプログラマーが非常にたくさんいます。もちろん、新しい問題はどんどん出てきますが、古い問題によっては、もう一度勉強してもあまり役に立たないものもあります。次回、再利用を意識してデザインしていることに気づいたら、立ち止まって、他の人のコードを再利用できるかどうか自問してください。

[英語原文:Don’t Design for Reuse]



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。