Gute Formulierung

07/10/2009 - 11:01 von Uwe Weih | Report spam
Hallo,

ich habe eine Funktion, der ich ein Text übergebe und dann den Seitenzàhler
und wenn die Seite 1 ist, soll eine existierende Textdatei neu erstellt
werden und sonst wird angehàngt. Das kann ich ja auf zwei Arten
programmieren:

'If Seite = 1 Then
'Datei neu erstellen.
' sw = New IO.StreamWriter(Dateiname, False, enc)
'Else
'An datei anhàngen.
' sw = New IO.StreamWriter(Dateiname, True, enc)
'End If

sw = New IO.StreamWriter(Dateiname, (Seite <> 1), enc)

Was wàre zu bevorzugen, wenn es um lesbaren Code geht?

BTW: Gibt es irgendwo (und wo :-)) Dokumente, wo sich über gewünschte uind
unerwünschte Formulierungen beschàftigt.

Ciao

Uwe
 

Lesen sie die antworten

#1 Elmar Boye
07/10/2009 - 12:02 | Warnen spam
Hallo Uwe,

Uwe Weih schrieb:
ich habe eine Funktion, der ich ein Text übergebe und dann den Seitenzàhler
und wenn die Seite 1 ist, soll eine existierende Textdatei neu erstellt
werden und sonst wird angehàngt. Das kann ich ja auf zwei Arten
programmieren:

'If Seite = 1 Then
'Datei neu erstellen.
' sw = New IO.StreamWriter(Dateiname, False, enc)
'Else
'An datei anhàngen.
' sw = New IO.StreamWriter(Dateiname, True, enc)
'End If

sw = New IO.StreamWriter(Dateiname, (Seite <> 1), enc)

Was wàre zu bevorzugen, wenn es um lesbaren Code geht?



Die Variante 2.

Von einem (professionellen) Entwickler sollte erwartet werden,
(boolsche) Ausdrücke auf einen Blick interpretieren zu können.

Bei Variante 1. muß man wiederum 5 Zeilen (ohne Kommentar) lesen,
um den kleinen Unterschied (true/false) zu erkennen.
Zum Kommentar dort: Code, der über Kommentare verdaulicher(er)
werden will, ist IMO grundsàtzlich schon mal schlechter.

Ein Zwischending wàre - IMHO nicht notwendig:
Dim append As Boolean = (Seite <> 1)
sw = New IO.StreamWriter(Dateiname, append, enc)

In beiden Fàllen streiten làsst sich darüber, ob es "sw" und/oder "enc"
sein müssen und nicht ein selbsterklàrender Name vorzuziehen wàre.
Weil hier der Gesamt-Kontext fehlt, lasse ich das mal offen.

BTW: Gibt es irgendwo (und wo :-)) Dokumente, wo sich über gewünschte uind
unerwünschte Formulierungen beschàftigt.



Da gibt es Romane und Glaubenskriege en masse.

Für .NET sollte man die "Entwurfsrichtlinien zum Entwickeln von Klassenbibliotheken"
<URL:http://msdn.microsoft.com/de-de/lib...2.aspx>
im wesentlichen beachten und anwenden - zumindest so lange man
keinen guten Grund dagegen findet.

Ein empfehlenswerter Titel (nicht .NET spezifisch),
der dies aber auch vieles mehr behandelt:
<URL:http://www.amazon.de/Code-Complete-...63593X>

Gruß Elmar

Ähnliche fragen