コードの再利用(コードのさいりよう)またはソフトウェアの再利用とは、既存のソフトウェアまたはソフトウェアの知識を活用し、新たなソフトウェアを構築すること。コードの再利用はプログラミングの黎明期から行われてきた。プログラマは常にコードの一部、テンプレート、関数、プロシージャを再利用している。ソフトウェアの再利用はソフトウェア工学の研究対象である。概要.再利用可能なソフトウェアやソフトウェアの知識は再利用可能な資産である。資産には、設計、要求仕様、テストケース、アーキテクチャなども含まれる。おそらく最もよく知られている再利用可能資産はコードである。コードの再利用とは、ある時点で書かれたプログラムの一部または全部を後の別のプログラムを書くときに利用することである。コードの再利用は、冗長な作業に費やす時間とエネルギーを節約する典型的技法である。ライブラリは抽象化のよい例である。プログラマはプログラムの一部を再利用可能とするために内部に抽象化ポイントを作成したり、自前で使うためにカスタムライブラリを作ったりする。ソフトウェアをより再利用しやすくする特性をモジュール性、低結合度、高凝集度、情報隠蔽、関心の分離などと呼ぶ。既存をコードを使って新たなコードを書く場合、なんらかのインタフェースあるいはアクセス手段が定義されていなければならない。これにはサブルーチンコール、オブジェクト、クラス、プロトタイプなどが含まれるのが一般的である。企業では、これらは定式化され標準化されているのが一般的である。あるプログラムの以前のバージョンを出発点として、次のバージョンを開発する作業も、一種のコードの再利用である。コードの再利用の一形態として、既存のプログラムからコードを一部または全部抜き出して新しいプログラムにコピーすることがある。企業は素早く開発するためにこの手法を使うことがあるが、このようなコピー・アンド・ペーストによるプログラミングを多用すると、後で重複コード問題に悩まされることになる。