Ich lese aus dem Buch (Anfang Python vom Anfänger bis zum Beruf), dass "es ist in der Regel als eine schlechte Sache, Code zu wiederholen" (Ich bin kein Muttersprachler, also bin ich nicht sicher, wie es geschrieben Anfangs) und sagt:Was ist 'code repeat' genau
#===11-7===
file = open(PATH)
while True:
char = file.read(1)
if not char:
break
print('Processing:', char)
file.close()
ist besser als:
#===11-6===
file = open(PATH)
char = file.read(1)
while char:
print('Processing:', char)
char = file.read(1)
file.close()
weil 11-7 vermeidet den Code zu wiederholen. Also bin ich hier um zu fragen: Was ist Code Wiederholung? Und ist es so schlimm?
Nur beurteilt von 11-6 Ich sehe keine Art von ... Nachteile, und um ehrlich zu sein, wenn ich das Buch nicht gucke, würde ich gerne Code 11-6. Danke ~
Grundsätzlich gibt es keinen Grund, die * gleiche Zeile * Code mehrmals zu schreiben, wenn Sie nicht müssen. –
Sie können Bugs subtil einführen, wenn Sie sich entschließen, * 2 * Bytes anstelle von einem zu lesen, und diese Änderung nur in einem der beiden '.read()' Aufrufe vornehmen. Passiert die ganze Zeit in der Praxis. – deceze
Diese Antwort fasst IMO den Schlüsselpunkt zusammen: "DRY sollte verwendet werden, um die Situation zu vermeiden, in der zwei Teile des Codes konzeptionell einige der gleichen Arbeit machen, also wenn Sie den Code an einer Stelle ändern, müssen Sie den Code in der anderen ändern Wenn die gleiche Logik an zwei verschiedenen Stellen vorhanden ist, müssen Sie immer daran denken, die Logik an beiden Stellen zu ändern, was sehr fehleranfällig sein kann. "http://stackoverflow.com/a/17790368/6260170 –