Seite 1 von 1
Allgemeine Funktionen in Klasse oder außerhalb?
Verfasst: Sonntag 6. Oktober 2013, 05:16
von Hellstorm
Hallo,
ich habe hier folgende Klassen und Funktionen:
Code: Alles auswählen
class Uploader()
__init__()
fortschrittsanzeige()
hochladen()
groesse_lesbar()
zippen()
zwischenablage()
Ich bin mir jetzt unsicher, ob ich einige Funktionen wie groesse_lesbar(), die relativ allgemein sind und z.B. nur eine Zahl wie 239341434 in lesbare Mebibyte/Gibibyte umrechnet, in die Klasse oder außerhalb tun soll. Im Grunde haben die ja mit der eigentlichen Funktion in der Klasse nichts zu tun.
Oder sollen die gerade
in die Klasse rein?
Danke!

Re: Allgemeine Funktionen in Klasse oder außerhalb?
Verfasst: Sonntag 6. Oktober 2013, 07:32
von snafu
Die sind besser außerhalb der Klasse aufgehoben. Dennn, wie du schon geschrieben hast: Das sind ja anscheinend Hilfsfunktionen, die auch in anderen Zusammenhängen als mit dem Upload-Vorgang verwendet werden können.
Re: Allgemeine Funktionen in Klasse oder außerhalb?
Verfasst: Sonntag 6. Oktober 2013, 11:12
von Hyperion
Alles was *nicht* unmittelbar zur Aufgabe einer Klasse ghört, sollte da auch nicht rein. Damit würdest Du das
SRP verletzen.
Kleine Anmerkung noch zu Deinen Namen: ``fortschrittsanzeige`` klingt nicht nach Methode / Funktion! Wo ist da die Tätigkeit zu sehen? (Ähnliches gilt für ``zwischenablage``). Was *tut* die Methode denn? Versuche genau das im Namen auszudrücken. Das ist oftmals schwer, aber das A und O der Programmierung

Re: Allgemeine Funktionen in Klasse oder außerhalb?
Verfasst: Montag 7. Oktober 2013, 13:42
von Hellstorm
Danke für die Antworten
@Hyperion:
Fortschrittsanzeige ist eine Callback-Funktion für den SFTP-Client von Paramiko. Wie könnte ich das denn nennen?
Naja, zwischenablage könnte ich wahrscheinlich in „in_zwischenablage_einfuegen“ umbennennen.
Re: Allgemeine Funktionen in Klasse oder außerhalb?
Verfasst: Montag 7. Oktober 2013, 19:13
von snafu
Hellstorm hat geschrieben:Danke für die Antworten
@Hyperion:
Fortschrittsanzeige ist eine Callback-Funktion für den SFTP-Client von Paramiko. Wie könnte ich das denn nennen?
Naja, zwischenablage könnte ich wahrscheinlich in „in_zwischenablage_einfuegen“ umbennennen.
Nimm besser den Imperativ: `fuege_in_zwischenablage_ein()` oder auf englisch (sinngemäß): `copy_to_clipboard()`.