[Python-de] einheitliches Vorgehen beim Öffnen von Dateien.

Stefan Schwarzer sschwarzer at sschwarzer.net
Fr Okt 19 12:41:59 EDT 2018


On 19/10/2018 17.46, Stefan Ram wrote:
> Stefan Schwarzer <sschwarzer at sschwarzer.net> writes:
>> On 18/10/2018 09.59, Thomas Güttler wrote:
>> Leider werden `f` und `file` mitunter sowohl für
>> Dateinamen (manchmal auch Pfade) als auch für
>> Dateiobjekte verwendet.
> 
>   Hier wird oft empfohlen, kurze Namen für kleine
>   Gültigkeitsbereiche und lange Namen für große
>   Gültigkeitsbereiche zu verwenden.

Ich verstehe es eher so, dass kleine Gültigkeitsbereiche
kurze Namen _eher rechtfertigen_ als große
Gültigkeitsbereiche. Wenn es dem Verständnis hilft, nutze
ich meist auch für kleinere Gültigkeitsbereiche längere
Namen.

>> Lieber ein langer `with`-Block als keine sauber
>> geschlossenen Dateien. ;-)
> 
>   Und wie würde das von mir angesprochene Refaktorieren im
>   Falle eines langen with-Blocks aussehen? Man würde ihn
>   normalerweise in (mindestens) eine separate Funktion auslagern.

Das Auslagern des `with`-Blocks in eine Funktion oder
Methode ist die naheliegendste Option, aber ich denke,
man sollte das nicht sofort "instinktiv" machen, sondern
auch gründlich über andere Optionen nachdenken. Spontan
fallen mir ein:

- Nur einen Teil des Blocks extrahieren, so dass er ein
  in sich schlüssiges Konzept enthält. Das macht die
  neue Funktion/Methode nicht nur einfacher zu verwenden,
  sondern erhöht auch die Wahrscheinlichkeit, dass man
  sie auch noch woanders sinnvoll verwenden kann.

- Teile aus dem `with`-Block vor den Block ziehen.

- Code kompakter schreiben (aber damit würde ich
  besonders vorsichtig sein).

Was jeweils passt (ggf. in Kombination) muss man im
Einzelfall prüfen/abwägen.

Viele Grüße
Stefan


Mehr Informationen über die Mailingliste python-de