18

プロジェクトの Moose への変換を開始しましたが、最初に気付いたのは、批評家/きちんとしたテストが地獄に行くことです。Moose、Tidy、Critic は、以前ほどお互いを好きではないようです。

評論家/整頓者がムース方言をより感謝するようにする方法についてのドキュメントはどこにありますか? ほとんどの Moose ユーザーは何をしますか? より重い Moose モジュールの批評家をリラックス/捨てますか? カスタム ポリシー?

4

4 に答える 4

6

Perl::Critic の「use strict」ポリシーの以前のバージョンは Moose が strict を有効にしていることを認識していませんでしたが、Perl::Critic をアップグレードすると修正されます。

Perl::Critic と Perl::Tidy の両方を Moose で使用していますが、特に壊れたものは見当たりません。実際のところ、Perl::Tidy でこのようなものを適切にレイアウトすることはできません。

my $apple = Apple->new({
    color => "red",
    type  => "delicious",
});

Tidy は ( と { は 2 つの開始レベルのインデントであると主張しますが、これはばかげているように見えます。

my $apple = Apple->new({
        color => "red",
        type  => "delicious",
});

しかし、以前にもこの問題がありました。プロジェクトのコーディング規則は、名前付きパラメーターにハッシュではなくハッシュリファレンスを使用することです。したがって、それ自体は Moose 関連の問題ではありません。

あなたの症状は具体的にどのようなものですか?

/J

于 2008-09-19T13:02:29.043 に答える
6

どちらも詳細に設定できます。

perltidy がそれを好まない理由がわかりません。それとは何の関係もありません。Perltid はスタイルのみを管理します。機能を変更せずにコードのスタイルを変更できます。実際には、ほとんどが空白の問題です。スタイルを変更するか、.perltidyrc ファイルを使用して perltidy 構成を変更する必要があります。

perlcritic にどのような問題があるかはわかりませんが (おそらく左辺値メソッド?)、.perlcriticrc ファイルを使用してこれらの特定のポリシーをオフにすることを検討してください。また、perlcritic が古い場合は、アップグレードすることをお勧めします。古いバージョンでは、Moose クラスで誤ったエラーが発生することがあります。

于 2008-09-18T13:34:50.607 に答える
3

私は Critic テストに問題はありません - 確かに、私は重大度 = 3 で実行しています。これは、少なくとも部分的には、私が作業しなければならないものの一部は、整理する/時間/がないレガシー コードであるためです。それ。

于 2008-09-18T13:47:11.077 に答える