problembär hat geschrieben:Na ja, wie ich schon ein paarmal geschrieben habe, ist Python eine Sprache, in der besonderer Wert darauf gelegt wird, daß der Programmierer den Code schnell schreiben, lesen und verstehen kann. Um den Preis insbesondere von geringerer Ausführungsgeschwindigkeit.
Prinzipiell nicht verkehrt, aber erstens ist eine geringere Geschwindigkeit ja kein Ziel oder gar Selbstzweck und zum anderen ist das Lesen und Verstehen durchaus auch abhängig von "gängigen" Mustern. Und dazu gehören nun einmal Konstrukte wie das Öffnen mit `with`, Stringformatierungen usw.
problembär hat geschrieben:
Strings mit " + " zusammenzufügen, finde ich z.B. sehr leserlich.
Neben der Laufzeitverlängerung und dem ungünstigen Speicherverbrauch mal abgesehen¹, wirkt ein solcher String auf mich immer zu stark zerstückelt. Speziell das empfinde ich unter Java bspw. immer total verworren. Und ab 2.6 ist doch die `"".format`-Methode eine feine Sache. Speziell bei "benannten" Parametern liest sich das doch super. Letztlich vergleichbar mit Template-Sprachen.
¹ Die hier bei so kleinen Strings sicherlich kaum eine Rolle spielen. Nur gewöhnt man sich dann bei anfälligen Codepassagen so ein Vorgehen erst gar nicht an, wenn man es auch im kleinen "richtig" macht.
problembär hat geschrieben:
Diese "with"-Konstruktion beim Öffnen von Dateien finde ich dagegen eher verwirrend: "You do something with what???".
Alleine die Einrückungsebene macht es doch viel klarer, dass da ein "besonderes" Objekt eine Rolle spielt. Und "you do something with the explicitly named object at the end of the line"

Expliziter und damit leserlicher geht es doch kaum. Zudem spart man sich den Aufruf von `file.close`, welcher ansonsten streng genommen erst in einem finally-Ast untergebracht werden müsste.
Code: Alles auswählen
try:
infile = open()
# ganz viel Code
finally:
infile.close()
Das findest Du wirklich leserlicher?
Sicherlich sind Geschmäcker unterschiedlich; aber leserlich ist einfach nichts, was Du rein individuell betrachten kannst. Wieso würden wir sonst hier alle immer auf PEP8 "bestehen"? Alleine weil solche Konventionen mehrheitsfähig sind und damit vielen Entwicklern das Lesen vereinfachen. Sicherlich mag es da Individualisten geben, die das anders sehen - aber tendenziell prägen nun mal einheitliche Formulierungen beim späteren Lesen anderer Codes das bessere Verständnis.
Sieh es mal so: Im Deutschen gibt es auch zig Vokabeln für gleiche Dinge; nimmt man ein fremdartiges wundert sich der Leser eher, als bei einem gängigen. "Ungebildete" Leser könnten dann tatsächlich sogar den Sinn eines Textes nicht mehr verstehen. Nicht umsonst schneidet Deutschland beim Pisa-Test gerade beim Textverständnis so schlecht ab
So, und nun gehe ich mal schnell in die Kaufhalle, um meiner Muse etwas mundendes zur Abendspeise darreichen zu können. Hoffentlich finde ich alle Ingredenzien für eine leckere Tunke
