3

私は最近Perlプロジェクトに参加しましたが、コードベースの生産性をかなり早く始める必要があります。しかし、どこを変更する必要があるのか​​、コードのすべての部分をどのように組み合わせるのかがわからないため、行き詰まっていることに気づきました。

経験のないPerlコードベースに慣れるためのヒントとツールは何ですか?

(注:私はすでに同様の質問があることを認識しています。Perl固有の戦略があるかどうか疑問に思っています。)

4

5 に答える 5

4

まず、以前のメンテナがうまく機能していた場合、コードベースの各モジュールとスクリプトについて、広範なテスト スイートと perldoc ドキュメントが必要です。もしそうなら、perldoc を読んで、テストを読んでください。perldoc は何が行われるかの概要を提供し、テスト スイートはコンテキストで使用されているコードの例を提供します。

作成者によっては、内部コメントがコードの意図を理解するのに役立つ場合があるため、実際のソースに目を通すことで、アルゴリズム、バグ、使用目的についての洞察も得ることができます。

これらのいずれも持っていない場合は、メンテナンスが不十分なコードベースの場合と同じように進めてください: 小さく始めて、コードを使用しようとするプログラムを作成し、Test::More などを使用してこれらをテスト スイートに変換し始めます。 .

前者の場合は非常に単純で、後者の場合は非常に難しいと感じるかもしれません。Peter Scott のPerl Medicは、2 番目のケースで行き詰まっている場合に、そのようなコードベースを使用可能で便利なものに変えるのを支援するのに非常に役立ちます。Mike Thomsen の効果的な Perl プログラミングの推奨も良いものです。

于 2011-06-17T21:33:25.747 に答える
1

ここで本当の答えを見たいです。私が持っている唯一のことは、より多くの質問です(ここで答えを提供する必要はありません、ただ自分自身に尋ねてください):

ゴール

  1. プロジェクトの目標は何ですか、それは何をすることになっていますか?
  2. ワークフローを知っているのは誰ですか?

環境

  1. クリーンなテスト環境でプロジェクトをセットアップできますか?
  2. バージョン管理システムを使用していますか?
  3. エントリポイント(つまり実行可能ファイル)はどこにありますか?
  4. 外部プログラムに依存していますか?
  5. 追加のシステム調整(つまり、cronスクリプト)が必要ですか?

Perlコード

  1. あなたのプロジェクトはどこでも厳格な警告を使用していますか?
  2. どのCPANモジュールが使用されていますか?
  3. 使用されているフレームワークはありますか(Moose、Catalyst、おそらくいくつかのORMなど)?
  4. プロジェクトのモジュールにperldocsはありますか?
  5. テスト(特にt / *。t)はありますか?
于 2011-06-18T22:11:56.903 に答える
1

同様の質問」の他に、 http://perldoc.perl.org/と空の test.pl ファイルが良い出発点です!

于 2011-06-17T16:30:28.217 に答える
1

主に Perl で書かれたMelodyに取り組んでいます。これはかなり大きなコード ベースであり、Melody コード ベースを学習するプロセスは、私が取り組んできたどの Java システムとも同じであることがわかりました。

それは本当にそれを使って作業することであり、これまでに見たことのない動作を見つけたときにグーグルで検索し、実験します。

この本は、Perl を本格的に取り上げるための優れたリファレンスです。内容はあまり濃くなく、適切な Perl 開発について多くのことを教えてくれます。

于 2011-06-17T16:21:33.160 に答える
0

私は通常、いくつかの簡単なバグ レポートまたは追加したい簡単な機能に取り組むことから始めます。コードに取り組んでいる間、私はコードのコメントを書き、それらをコミットします。テストを書くことも役に立ちます。

于 2011-06-17T21:00:51.117 に答える