Allgemeine Funktionen in Klasse oder außerhalb?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

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! :)
Benutzeravatar
snafu
User
Beiträge: 6908
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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 :-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

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.
Benutzeravatar
snafu
User
Beiträge: 6908
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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()`.
Antworten