15

パッケージの既知のバグやバグ修正を最新の状態に保つための標準の R コミュニティ リソースはありますか? 私の現在のアプローチはかなり手動です。(注意: これを CRAN に限定しています - 注 1 を参照してください。)

私のユースケースは、基本的にバグ監視とパッケージ更新の管理です。私はしばらくの間、毎月平均して数件のバグを発見してきました (著者に正式に報告します ;-))。私の仕事の多くは仮想マシンで行われているため、必要なパッケージのバグ ステータスを適切に把握している場合は、VM イメージを更新する傾向があります。たくさんのバグが修正されたら、回避策を削除できます。これは素晴らしいことです。画像を更新します。バグの発生を発見しても、新しいイメージは作成しません。

現在使用しているソースは次のとおりです。

  • NEWS ファイル: すべてではありませんが、多くのパッケージに NEWS ファイルがあります。これらは確かに開始するのに役立つ場所です。
  • パッケージのホームページ: 一部のパッケージでは、CRAN に NEWS ファイルがありませんが、作成者のサイトに変更ログを個別に投稿します。
  • R プロジェクトがホストするメーリング リスト
  • パッケージの Google グループ
  • パッケージ作成者との個人的なコミュニケーション
  • パッケージのバグ追跡 (たとえば、開発者は Bugzilla を使用する場合があります)

バグを最初に発見すること (バグは私たち全員に起こることを認めます) と、既に知られているか、できれば既に修正されているバグを遅ればせながら発見することとは別のことです。どちらも私自身のコーディングを遅くしますが、より良いバグ監視 (cdc4Rパッケージが必要かもしれません:)) により、影響が大幅に軽減されます。標準的な更新アラート システム (たとえば、更新可能なパッケージに関するレポートの拡張機能update.packages()や、変更内容に関する情報へのリンク) がなければ、この情報を探すのはユーザーの仕事です。

このようなユーザーとして、この情報を探しているのですが、上記のリストで見落としている標準的なリソースはありますか? たとえば、開発者が変更やバグ修正を投稿するのが一般的な R メーリング リストはありますか? または、そのような投稿を集約したり、テストを投稿したり (CRAN 投稿のR CMD CHECK出力のようです)、またはその他のフィードバックを提供するサイトはありますか?


他の人のために、他のリソースに関するいくつかの追加メモ:

  • CRANberryにはパッケージに関する簡潔な要約があることがわかりましたがdiff、これは私にとって初めてのことです。bug(またはfixdiff 出力でgrep を検討するように促されました。)
  • bug.report()in R は、R Core またはパッケージ メンテナーの電子メール アドレスにメッセージを送信するのに適した方法です。
  • 検討する価値のあるいくつかのテスト パッケージはtestthat、 、RUnit、およびsvUnitです。
  • 私の個人的な「クイック テスト」はdigest、非常に大きなオブジェクトの等価性をテストすることなく、単に結果が一致することを確認するために使用することです。

注 1:すべてのR パッケージのユニバースを管理することは不可能であるため、この個々のパッケージ作成者は、好きな場所でパッケージを配布したり、好きなメーリング リストやバグ追跡システムを使用したりできます。ただし、それは R の「主流」の範囲外です。パッケージをリリースしてユーザーに警告する場合変更、バグ、バグ修正については、CRAN + NEWS + Bugzilla + Google Groups + R-Forge (および/または RForge) などを使用しますが、このリストに含まれていない別の標準レポート メカニズムはありますか?

ある意味では、このメモは、開発者が使用することを奨励されているメカニズムがあるかどうかを尋ねる役割も果たします。R Core メンバーによるパッケージは、バグや変更の報告に関してさまざまなことを行っているように見えるため、標準はないと思われます。

注 2: これはR の管理にも関連するため、も追加します (ただし、他の何かがより適切である可能性があります)。再現性のために、パッケージの管理は非常に重要です。複数のユーザーまたはより多くの移動要素がある場合、バグと修正を認識し続けることは、管理タスクになるだけでなく、外部パッケージに依存する開発の重要な考慮事項になります。別のタグ、たとえばがより適切である場合、私は変更を受け入れます。

4

1 に答える 1

3

完全な答えではありませんが、ここにいくつかの考えがあります。

R-Forge のdata.tableバグ (および機能のリクエスト) をこちらで追跡しています。そこでホストされているすべてのパッケージについて、R-Forge のトラッカーに (プログラムで) クエリを実行できると思います。とにかくあなたのリストに追加します。その Web トラッカーは(メンテナーへのメールアドレスだけでなく) を指す場所です。bug.report(package="data.table")

また、誰でも任意の<pkgname>-commits@lists.r-forge.r-project.orgメーリング リストに登録して、R-Forge の各プロジェクトの統一された diff およびコミット メッセージを (コミット時に) 受け取ることができます。ただし、R-Forge プロジェクトへのコミットにまたがる一般的なメーリング リストについては知りません。

一番上に最新のNEWSへの?data.tableリンクがあります。これは、ユーザーがアップグレードした場合に、最新バージョン (および開発中) の内容をユーザーに伝える方法です。そのリンクはリアルタイムで更新されます。つまり、"up to the minutes" は文字通りの意味です。しかし、彼らはそこをチェックする必要があります!

于 2012-02-16T14:51:53.090 に答える