Często postrzegane zalecenie w sprawie najlepszych praktyk w zakresie Moose
jest następujący:Dlaczego "use namespace :: autoclean" jest preferowane zamiast "no Moose"?
„Wykorzystanie
namespace::autoclean
bit jest po prostu dobra higiena kod, gdyż usuwa importowane symbole z nazw klasie na koniec cyklu kompilacji Twojego pakietu, w tym słowa kluczowe:Moose
. Po utworzeniu klasy te słowa kluczowe nie są potrzebne: (Preferowane jest umieszczanieno Moose
na końcu paczki). "
Zrobiono dla Moose::Manual::BestPractices (podkreślenie moje).
wszystko rozumiem dotyczące cytat powyżej, z wyjątkiem jednej rzeczy: dlaczego jest stosowanie namespace::autoclean
preferowane do użycia no Moose
na końcu zakresu leksykalnego?
Czy to tylko dlatego namespace::autoclean
jest bardziej wszechstronny, pozwalając na więcej opcji w jego wykorzystania, czy jest tam coś nieodłącznym drodze został wdrożony (specjalnie dostosowane do Moose
zajęć, być może), który sprawia, że jest bardziej wiarygodne?
Nie znalazłem żadnej dokumentacji, która by to wyjaśniła i chciałbym poznać właściwą odpowiedź.
'namespace :: autoclean' złamie również twój kod, jeśli planujesz używać przeciążenia w tym samym czasie. W takim przypadku możesz wypróbować 'namespace :: sweep'. – friedo
Bieżąca "namespace :: autoclean' (v0.28, paź 2015) documentation [states] (http://stackoverflow.com/questions/9559064/why-is-use-namespaceautoclean-preferred-to-no-moose), która "magiczne głośniki zainstalowane przez przeciążenie nie zostaną wyczyszczone". –