問題としてのコードの再利用
私が考えていたこの質問ソフトウェア・デリバリーに、私は問題に戻って来るまま再現性および/または再現。プロジェクトを繰り返さないと、プロジェクトのビルドに使用したプロセスを改善することが難しくなるためです。エンジニアリングでは、高品質のプロジェクトを作成するために、設計と建設に関連するプロセスを絶えず改善する必要があります。
ソフトウェアは、そのデジタル形式のために再利用に大きく依存できます。モジュールを書き換える代わりに、もう一度呼び出すか、他のシステムにコピーします。いくつかの例は、認証/ログインまたはおそらくロギング機能です。これらのカテゴリには多くのよく知られた例があります。そして、従来の知恵は、あなた自身のものを転がす代わりに存在するものを再利用することです。
他の分野とのいくつかの比較
建設
対照的に、物理システム(建物、橋)の建設は、再利用できるほど近くはありません。家の設計図を何度も再利用して同じ家のコピーを作成できることは事実ですが、そのたびに建設を実行する必要があります。アナログの世界では、カットアンドペーストはそのようには機能しません。橋の設計図は、サイトの条件が異なるため、住宅よりも再利用性が低くなります。
マスタービルダーは、その地域で数十、数百、または数千のものを設計および/または構築したことで知られる専門家です。たとえば、世界的に有名な建築家およびデザイナーであるフランク・ロイド・ライトdesigned more than 1,000 structures and completed 532 works
。「ちょうど」5つの言語(Turbo Pascal、Delphi、J ++、C#、Typescript)を設計したAnders Hejlsbergとは対照的です。ドメインが異なるため、多くの点で不公平な比較です。しかし、大まかに言って、2人の非常に知的な人からの定量化可能な作品は大きく異なります。
武道
武道家は、動きの習得は数千の繰り返しからのみ来ると言うでしょう。これらの繰り返しのかなりの部分が投入された後、多くの武道家は、以前は複雑な型または形であると認識されていたことが単純になったことに驚いています。それらの学生のインストラクターは、動きがより流動的で意図的であり、動きが経済的であることにも気付くでしょう。同様に、経験豊富な武道家は、経験の少ない学生よりも複雑なカタをより速く拾うことができます。繰り返しの経験から、より迅速に学習できるフレームワークまたはプロセスが得られました。
木工
木工労働者も同様の変化を経験します。趣味の木材職人は、多くの引き出しを必要とする最初のプロジェクトを常に参照しています。彼らがプロジェクトを完了すると、彼らは組立ラインが生み出す効率性に新たな評価を得ることができます。木材を最大限に活用するために、シートストックに引き出し部品をレイアウトする方法をよりよく理解するなど、他の利点もあります。愛好家と比較して、プロの木材労働者は、以前に何度も作ったアイテムをより迅速に設計、開始、および構築することができます。彼らはまた、他の誰かの設計に内在する問題を自分の仕事でその間違いを犯したことを見る能力を得ます。
それで、ソフトウェアの再利用はソフトウェア開発者がより熟練するのを妨げますか?
多くの点で、ソフトウェアの設計と構築は常に新しいものです。モジュール、ライブラリ、またはシステムを再利用できる場合は、再利用できるため、過去の作業を繰り返すことはありません。ゼロから全体を書き換える前に、既存のシステムを優先的に拡張します。しかし、繰り返しにより、設計と構造の効率を見つけることができます。スポーツや身体活動を実践したことがある人なら誰でも、繰り返しが良い開業医になるための鍵であることを教えてくれます。
私の質問:ソフトウェアの再利用能力は、プロジェクトを繰り返すことから生じる必要なプロセスの改善と効率を妨げますか?