Ich habe zwei Klasse:beseitigen if-else von while-Schleife
class A:
b = B()
function doSomething():
while True:
b.doSomething()
class B:
counter = 0
function doSomething():
if counter < 10:
performMethod1()
else:
performMethod2()
counter += 1
function performMethod1(): ...
function performMethod2(): ...
Ich fühle mich dieser Code ist schlecht, weil ich weiß, dass B.performMethod2() viel mehr Zeit als B durchgeführt werden soll performMethod1(), aber das if-else (wenn Zähler < 10) wird jedes Mal überprüft werden, wenn ich in B.doSomething() gehe.
Darüber hinaus möchte ich nicht die While-Schleife der Klasse A brechen, weil ich die Implementierungsdetails der Klasse B von A.DoSomething() ausblenden möchte.
Gibt es eine gute Möglichkeit, die Wenn-sonst von B.doSomething() zu beseitigen? Vielen Dank.
Prüfen Sie diese Seite aus http://codereview.stackexchange.com/ für Fragen wie die – Querenker
@Querenker Code Review ist für konkrete, reale Implementierungen nur! In diesem Fall würde es als Beispielcode geschlossen werden, ebenso wie eine fehlende Implementierung. – Pimgd
@Pimgd Danke für Ihre Erklärung. Ich stehe korrigiert. – Querenker