2008-09-18 6 views
18

Ich habe mit der Konvertierung eines Projekts zu Moose begonnen und das erste, was mir auffiel, war, dass meine Kritik/ordentlich Tests zur Hölle gehen. Moose, Tidy und Critic scheinen sich nicht mehr so ​​zu mögen wie früher.Perl :: Kritiker: Leben nach Elch?

Gibt es Dokumente, die zeigen, wie man den Elch-Dialekt wertschätzender macht? Was machen die meisten Moose-Nutzer? Relax/Ditch-Kritik für die schwereren Moose-Module? Benutzerdefinierte Richtlinien?

Antwort

6

Beide können detailliert konfiguriert werden.

Ich habe keine Ahnung, warum perltidy es nicht mögen würde, es hat nichts damit zu tun. Perltidy regelt nur den Stil. Sie können den Stil Ihres Codes ändern, ohne irgendeine Funktionalität zu ändern, es ist hauptsächlich eine Angelegenheit von Leerzeichen. Sie sollten entweder Ihren Stil ändern oder die perltidy-Konfiguration mit der .perltidrc-Datei ändern.

Ich weiß nicht, welche Probleme Perlcritic hat (Lvalue-Methoden vielleicht?), Aber Sie könnten diese spezifischen Richtlinien mit der .perlcriticrc Datei ausschalten. Auch wenn Ihr Perlcritic alt ist, möchten Sie es möglicherweise aktualisieren, da einige alte Versionen einige falsche Fehler in Moose-Klassen gaben.

+3

Nun, ich denke mehr auf den Punkt. Hat jemand eine Kritik/Perltidyrc, die für Moose-basierte Projekte optimiert ist? Jedes Mal, wenn ich von der Lagerordnung abweicht, fühle ich mich dreckig und mache normalerweise die Dinge schlimmer. :-) – claco

+0

Hinzugefügt: Perltidy regelt nur Stil. Sie können den Stil Ihres Codes ändern, ohne irgendeine Funktionalität zu ändern, es ist hauptsächlich eine Angelegenheit von Leerzeichen. –

+0

Moose erstellt keine Lvalue-Methoden für Sie. Ich denke nicht mal, dass es dafür eine MooseX-Erweiterung gibt. –

3

Ich habe kein Problem mit Critic Tests - zugegebenermaßen laufe ich mit Schweregrad = 3, zumindest teilweise, weil etwas von dem, mit dem ich arbeiten muss, Legacy-Code ist, den ich nicht habe/time/to, aber mein Elch-Zeug segelt hindurch.

6

Frühere Versionen von Perl :: Critic "verwenden strenge" Politik war nicht bewusst, Moose für Sie streng, aber das wird behoben, wenn Sie Perl :: Critic upgraden.

Ich benutze sowohl Perl :: Critic und Perl :: Tidy mit Moose, und ich sehe nichts besonders gebrochen. Nun, eigentlich kann ich nicht Perl bekommen :: Tidy zu Layout Dinge wie diese richtig:

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

Tidy wird, dass darauf bestehen (und {sind zwei Öffnungsebenen Einbuchtung, und es wird nur diese dumme aussehen :

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

Aber wir vor, dieses Problem hatte, die Codierung Konvention im Projekt ist ein hashref zu verwenden, nicht ein Hash, für benannte Parameter so ist es wirklich ein Elch bezogenes Problem als solches nicht ist

..

Was genau sind deine Symptome?

/J