Wpis z mikrobloga

@DizzyEgg: Powiem tak, może jak pisałeś na 8 bitowe procesory w latach 80-90 tak było - teraz przeszkadza w optymalizacji kodu przez kompilator... I jeśli procesor jest bardziej skomplikowany niż starutenki m68040 to raczej zaszkodzi niż pomoże bo juz na 060 mniej hardkorowców było co byli w stanie rzeczywiście zwiększyć wydajność sztuczkami asemblerowymi, a tam były tylko 2 potoki....
@DizzyEgg: Dla mnie przekombinowane i raczej nie chciałbym współpracować z kimś tworzącym taki kod... Obsługa błędów przez goto - tak, ale jeśli wiesz, że potem będzie reset urządzenia, w innym wypadku masz proszenie się o kłopoty, nie zwolnione zasoby ect....
@DizzyEgg: Jeszcze bym zmienił
if (condition) { ... }
na
while (condition) { ... break; }
( ͡° ͜ʖ ͡°)( ͡° ͜ʖ ͡°)
Przypomina mi się ile czasu szukałem kiedyś problematycznej linijki, w której było if (condition) { exit(0); }

A tak na poważnie to powyciągaj te warunki, np. zamiast goto w case 3, przed switchem daj
if ((value == 3) && condition2)
@Kaczus2B: to taka programistyczna poprawność polityczna, która zabrania używania słowa na g.*. Gdyby goto było złe samo w sobie, to języki programowania by nie przewidywały takiej możliwości. "Zło" GOTO wzięło się z dawnych czasów, gdy było nadużywane tak, że kod był trudny w analizie - i nie, nie chodzi tu o kwestię optymalizacji. Dzisiaj o optymalizacji praktycznie nikt nie myśli - kod ma być miły dla oka, a nie dla procesora.
@wnocy: wiesz - prosty przyklad: ktoś napisał program, trochę skomplikowane warunki, zeby przyspieszyc, w jednym z warunkow dal return (prawie to samo co goto, jesli uzyjesz w srodku skomplikowanej funkcji. Z aczasem system sie rozrosl i trzeba bylo semafory zalozyc, nastepny programista zalozyl semafory - tylko w plataninie warunkow zapewne nie zauwazyl tego returna nawet, aa potem system wywalany byl watchdogiem - fakt, ze rzadko ale byl... a ja musialem grzebac
@Kaczus2B: z tego co widzę oczami wyobraźni, funkcja, o której piszesz, jest trudna w utrzymaniu już i bez GOTO/RETURN-a, więc to nie tu jest problem. A problemy, o których piszesz, się zdarzają i zdarzać się będą bez względu na to czy ktoś akurat użyje tego zakazanego słowa. Zdecydowanie częściej marnujemy czas na innych błędach, niż na jednym sporadycznym wyskoku z funkcji. W obecnych czasach użycie garści GOTO w programie, nie stwarza
@wnocy: Problem polega na tym, że dosiądzie się do tego kodu jeszcze kilku mistrzów, z biegiem czasu pokazany switch rozrośnie się do kilkuset linijek ( ͡° ͜ʖ ͡°), znając życie powstaną jakieś zapętlenia - i w tym momencie ujawnia się bug... Programista, który dostaje ten kod do naprawy po paru dniach kończy w psychiatryku.