Staram się stosować do czystego kodu wuja Boba, a konkretnie, aby metody były krótkie.
Nie mogę jednak skrócić tej logiki:
if (checkCondition()) {addAlert(1);}
else if (checkCondition2()) {addAlert(2);}
else if (checkCondition3()) {addAlert(3);}
else if (checkCondition4()) {addAlert(4);}
Nie mogę usunąć pozostałych i tym samym podzielić całej rzeczy na mniejsze części, ponieważ „else” w „else if” pomaga wydajności - ocena tych warunków jest droga i jeśli mogę uniknąć oceny poniższych warunków, spowoduję, że jeden z pierwszych to prawda, chcę ich uniknąć.
Nawet semantycznie rzecz biorąc, ocena następnego warunku, jeśli poprzednie zostało spełnione, nie ma sensu z biznesowego punktu widzenia.
edycja: To pytanie zostało zidentyfikowane jako możliwy duplikat eleganckich sposobów radzenia sobie, jeśli (jeśli inaczej) inaczej .
Uważam, że jest to inne pytanie (można to zobaczyć również poprzez porównanie odpowiedzi na te pytania).
- Moje pytanie dotyczy sprawdzenia, czy pierwszy warunek akceptacji szybko się kończy .
- Połączone pytanie stara się spełnić wszystkie warunki , aby coś zrobić. (lepiej widać w odpowiedzi na to pytanie: https://softwareengineering.stackexchange.com/a/122625/96955 )