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:
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.
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?
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.
Tags und Links perl obsolete legacy-code deprecated