パッケージ開発プロセス

ソフトウェアパッケージ開発プロセス (英: package development process)は、ソフトウェアパッケージを開発するためのシステムのこと。パッケージを使用すると、ソフトウェアリポジトリなどを介してコードを簡単に再利用したり共有できる。パッケージチェックの正式なシステムにより、バグの発見に役立ち、ソフトウェアの信頼性を向上させるのが容易になる。これにより、ソフトウェア開発工程の一環として、ソフトウェア作成の生産性向上が期待できる。

議論 
パッケージは、 文書が同梱された、PythonやR言語などの単一言語で使用するために記述された関数のコレクションである。多くのプログラミング言語には、パッケージを共有するためのソフトウェアリポジトリが存在する。

たとえば、 Pythonパッケージは、文書、コード、初期設定、および場合によっては「py」拡張子を持つ単一のファイルで単体テストとして使用できる例を組み合わせたものである。

対照的に、R言語パッケージには、コードとは別のファイルに例を含む文書があり、サンプルデータセットや紹介文などの他の資料にバンドルされている可能性がある。 Rパッケージのソースコードは、マスター「説明」ファイルと、文書、コード、単体テストまたは回帰テストに適したオプションのデータセットなどの個別のサブディレクトリを含むディレクトリに含まれている。 正式なパッケージコンパイルプロセス は、さまざまなタイプのエラーをチェックする。これには、文書のマークアップ言語とコードの両方で構文エラーをチェックすることや、文書とコードの間の引数を比較することが含まれる。文書の例はテストされ、失敗するとエラーメッセージが表示される。これは、単体テストの基本的な形式として使用できる。より正式な単体テストと回帰テストを含めることができる。これにより、コードの開発中にバグを見つけやすくなり、ソフトウェア開発の生産性が向上する。さらに、文書により、他のユーザーとコードを簡単に共有できる。また、開発者が数か月または数年前に記述されたコードを簡単に使用できるようになる。定期的なチェックは、Comprehensive R Archive Network（CRAN）に提供され、コンパニオンオープンソースの共同開発WebサイトであるR-Forgeで開発中のパッケージで行われる。これらのチェックは、コアR言語の異なるバージョンの下で異なるプラットフォーム上でパッケージを繰り返しコンパイルする。結果はパッケージメンテナが利用できるようになる。このようにして、パッケージの寄稿者は、他の方法では決して遭遇しない可能性のある問題に気付くようになる。そうしないと、それらの代替テスト結果に簡単にアクセスできないためである。

さまざまなソフトウェアリポジトリへの貢献の質を比較し、それを言語の機能とそれに伴うパッケージ開発プロセスに関連付けることを試みるのは、興味深い調査である。提供されたソフトウェアの成長率を、文書化、テスト、およびコーディングの形式および標準の実施の程度と比較するすることもできる。

関連項目 

 パッケージ管理システム
 ソフトウェアリポジトリ
 ソフトウェア開発工程

脚注 

ソフトウェア開発工程
ソフトウェア配布