Thread OOP Parameterübergabe direkt oder indirekt ? (21 answers)
Opened by der_thomas at 2014-04-26 00:16

rosti
 2014-04-26 09:39
#175068 #175068
User since
2011-03-19
3194 Artikel
BenutzerIn
[Homepage]
user image
Quote
Spricht etwas gegen so eine Vorgehensweise ?
Ich frage deshalb weil ich das so noch nicht gesehen habe...was aber nun auch nicht viel bedeutet ;)


Natürlich kannst Du einen Dateinamen übergeben. Bekanntes Beispiel:

Code (perl): (dl )
tie my %cfg, 'Config::IniFiles', -file => $path;


Verwende einen Hash für die Argumentenliste und dokumentiere das entsprechend. Ein Hash macht auch den Code besser lesbar und ist einfach in der Handhabe. Es erleichtert die Fehlersuche und bei einem Codereview siehst Du sofort: Aha, hier wird eine -file übergeben.

Nutze das Exception-Model zum Vereinfachen von Kontrollstrukturen im Konstruktor, use Carp;

In der Anwendung:
Code (perl): (dl )
my $member = Member->new or die $@;


Im Konstruktor:
Code (perl): (dl )
croak "Ich brauche entweder einen Dateinamen oder einen Namen für die Person";


Das landet dann in $@, Anwendung see above.
Verwende Großbuchstaben für Namen Deiner Klassen (package Member; statt package member;).

View full thread OOP Parameterübergabe direkt oder indirekt ?