Wie kann ich Perl-Code als veraltet markieren?

8

In meinem Projekt bereite ich gerade einen Schritt-für-Schritt-Übergang von altem Code zu neuen, richtig entworfenen und getesteten Modulen vor. Da nicht jeder andere Programmierer genau das tut, was ich mache, möchte ich Warnungen ausgeben, wenn alter Code verwendet wird. Ich würde es auch sehr gerne vorziehen, Empfehlungen zu geben, wie man alten Code portiert.

Ich habe zwei Möglichkeiten gefunden:

  1. Attribut :: Veraltet , was für Funktionen gut ist, aber eher umständlich, wenn es vollständig ist Modul ist veraltet. Auch keine zusätzlichen Informationen außer Warnungen.

  2. Perl::Critic::Policy::Modules::ProhibitEvilModules für Module oder eine benutzerdefinierte Perl::Critic -Regel für feinere Abwertungen auf Funktions- oder Methodenebene. Diese Methode ist in Ordnung, aber es ist nicht sofort aus dem Code selbst ersichtlich, dass sie veraltet ist.

Irgendwelche anderen Vorschläge oder Tricks, wie man das richtig und einfach macht?

    
Nikolai Prokoschenko 09.11.2009, 13:57
quelle

1 Antwort

16

Bei Methoden und Funktionen können Sie einfach den Hauptteil der Funktion durch eine Warnung und einen Aufruf der bevorzugten Funktion ersetzen.

perl perllexwarn gibt das folgende Beispiel:

%Vor%

Wenn Sie ein ganzes Modul ablehnen, setzen Sie die Warnung in einen BEGIN -Block im Modul.

Sie können die Warnungen auch in die import Methode setzen (zB Win32 :: GUI :: import ): Alles hängt davon ab, was genau Sie tun möchten.

    
Sinan Ünür 09.11.2009, 14:08
quelle