Nauczono mnie tego wyrażania i wzorców już dawno temu. Jasne, nazwa pochodzi od starych pomp, które musiały zostać napełnione wodą, zanim będą mogły pompować wodę, ale kogo to obchodzi? Mówimy tutaj o kodzie.
Mile widziane są niektóre naprawdę dobre przykłady i wyjaśnienie tego, co osiąga wzór. Jak dziś postrzegany jest ten wzorzec?
Zalewanie może czasami spowodować wadliwą pętlę, ale kosztem OSUSZANIA . Może to być krótki przystanek na drodze do lepszego projektu. Czy jest to uważane za anty-wzór? Czy są alternatywy?
design-patterns
anti-patterns
loops
candied_orange
źródło
źródło
Odpowiedzi:
Ta metafora prawie na pewno odnosi się do praktyki ustanawiania pierwszej kontroli warunkowej w
while
pętli. Jeśli tego nie zrobisz, pętla nie będzie działać. Jest to dobrze ugruntowany wzór i nie zmienił się od czasuwhile
wynalezienia pętli. Wymóg ustawienia warunku początkowego wwhile
pętli nie jest wadą.Elementem startowym może być instrukcja odczytu lub cokolwiek, co poprawnie ustawia warunek początkowy. Ustawienie warunku początkowego za pomocą instrukcji read nazywa się „Priming Read”.
W języku C # dwa
Readline()
połączenia można połączyć w jedną instrukcję w ramach warunku:źródło
A T(B A)
wzorzec zalewania robi to, ale powiela się A. Jakieś ogólne alternatywy dla tego ogólnego wzorca?return
.while
pętlę, ale kiedy okazało się, że ciąg w wierszu po prostu czytać, można albobreak
alboreturn
.