@decentralizacja: wolę drabinkę else if niż switch. Tym bardziej, że się można łatwo p--------ć zapominając o breaku i że trzeba pamiętać o stosowaniu nawiasów klamrowych w case'ach w niektórych przypadkach (jeśli chodzi o C++) W pythonie takim np. w ogóle nie ma switcha i jakoś ludzie żyją
@JakTamCoTam: po to, abyś nie musiał w 15 ifach wprowadzać nazwy zmiennej. Zmienisz nazwę, to będziesz musiał w 15 miejscach to zmienić. A pamiętajmy, że kiedyś nie było przyjaznych refactoringowi IDE.
@decentralizacja: w Javie do wersji 12tej wolałem opcję drugą bo switch-case słabo wygląda z tymi breakami. W 12ce jest w końcu switch expression więc wolę switcha.
czytalem kiedys artykuly na temat tego, zeby unikac switcha(szczegolnie, ze kompilator i tak to sprowadzi do odpowiedniej formy) + switch w niektorych jezykach moze byc dziwacznie zdefiniowany i umozliwiac robienie takich czarow jak duff device
czytalem kiedys artykuly na temat tego, zeby unikac switcha
@alekhine: Pewnie jak większość czytałeś to kiedy uczyłeś się OOP i nie rozumiałeś jeszcze o czym ten artykuł tak naprawdę był. Zapewniam cię, że o ile nie był to jakiś "blogujący junior" to autor nie wspomniał o if-else tylko dlatego, że nie zakładał możliwości stosowania innej konstrukcji przy tego typu rozgałęzieniach. Tutaj Uncle Bob mówi o problemie switcha i o ile
@JakTamCoTam: pewnie też dużo znaczenia miał stan ówczesnego oprogramowania. Kiedyś kompilatory słabo optymalizowały kod. Swtich statement pozwala na bezpośrednie utworzenie if-a za pomocą jump table, czyli skok do odpowiedniego brancha na podstawie wejścia do switcha. C ma dużo takich smiesznych naleciałości: np często spotykane while(*target++ = *src++): w taki sposób napisałbyś memcpy w assemblerze komputera PDP-11, na którym projektowany był język C
$c = 'C'.strtoupper(flag);
$x = new $c();
x = [&] {switch (flag) {
case car:
return
czytalem kiedys artykuly na temat tego, zeby unikac switcha(szczegolnie, ze kompilator i tak to sprowadzi do odpowiedniej formy) + switch w niektorych jezykach moze byc dziwacznie zdefiniowany i umozliwiac robienie takich czarow jak duff device
@alekhine: oo na code review to powinno wylecieć w podskokch ( ͡° ͜ʖ ͡°)
@alekhine: Pewnie jak większość czytałeś to kiedy uczyłeś się OOP i nie rozumiałeś jeszcze o czym ten artykuł tak naprawdę był. Zapewniam cię, że o ile nie był to jakiś "blogujący junior" to autor nie wspomniał o if-else tylko dlatego, że nie zakładał możliwości stosowania innej konstrukcji przy tego typu rozgałęzieniach.
Tutaj Uncle Bob mówi o problemie switcha i o ile
Komentarz usunięty przez autora