-
Data: 2017-04-29 18:19:49
Temat: Re: arduino, początki, inny edytor
Od: "slawek" <s...@h...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
Użytkownik "Marek" <f...@f...com> napisał w wiadomości grup
dyskusyjnych:a...@n...neos
trada.pl...
> Wypuść powietrze, zastanów się i odpisz w, temacie _konkretnego_ przykładu
> z linka. [ http://www.cprogramming.com/tutorial/goto.html ]
Jeden rzut oka i widać że autor tutoriala robi fundamentalny błąd. Zamiast
po prostu sprawdzać czy jest dobrze (tzn. czy nie ma błędu)... sprawdza czy
jest błąd. Niby to to samo, ale skutki poważne - zwłaszcza że nadużywa
return - biedak musi wywoływać cleanup wiele razy. (Ok, zaraz niedouczeni
koderzy podniosą wrzask, że to nie jeden cleanup, ale wiele różnych. Cóż,
warto sprawdzić czy rzeczywiście? Przecież można sprzątanie napisać tak, aby
działało tak samo dobrze w każdym przypadku, np. free(NULL) jest
bezproblemowe. )
Przy prostszych sprawach wystarczy takie coś bez goto:
int big_function()
{
int success = 0;
/* do some work */
if( !error1 )
{
... /* do some more work */
if( !error2 )
{
... /* do some more work */
if( !error3 )
{
... /* do some more work */
success = 1; }
}
}
/* clean up*/
return success;
}
Przy bardziej poważnych programach można zrobić to nawet ładniej, ale
obawiam się że i tak tego nie zrozumiesz, a zwłaszcza tego gdzie teraz jest
clean-up.
int big_function(Task* list)
{
int success = 1;
while ( *list && ( list->doWork(list) || success = 0 )) list =
list->next;
return success;
}
Następne wpisy z tego wątku
- 29.04.17 21:30 Pcimol
- 30.04.17 01:44 Marek
- 30.04.17 06:36 slawek
- 30.04.17 10:26 Marek
- 30.04.17 12:57 slawek
- 30.04.17 13:40 slawek
- 30.04.17 19:21 Janusz
- 30.04.17 19:51 HF5BS
- 01.05.17 13:57 Janusz
- 01.05.17 17:26 HF5BS
- 02.05.17 08:35 slawek
- 02.05.17 15:23 HF5BS
- 02.05.17 18:18 slawek
- 02.05.17 18:41 slawek
- 02.05.17 19:28 slawek
Najnowsze wątki z tej grupy
- Silikonowy przewód ekranowany
- Wtyk bananowy ekranowany
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
- Superkondensator. Czy to się uda?
- Stare filmy o technice
- Zasilanie własnych konstrukcji przez PoE
- Jak działa domofon?
- Co oni mierzą miernikiem
- 40 lat OrCAD-a
- Multimetr z bluetooth
- Ciekawa mapka z BTS-ami
- Lampy uliczne LED z kubkiem
- Pęczniejące LiPo
Najnowsze wątki
- 2025-10-28 Silikonowy przewód ekranowany
- 2025-10-28 Wtyk bananowy ekranowany
- 2025-10-28 Chiny => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu <
- 2025-10-28 Warszawa => BI Developer <=
- 2025-10-28 Warszawa => Engineering Manager <=
- 2025-10-27 Priority pass i fast track z visa platinum santandera.
- 2025-10-27 #Motodziennik Używane - OGROMNE PRZEBIEGI - najlepsze silniki diesla i benzynowe ostatnio
- 2025-10-27 Dlaczego Heweliusz zatonął? Kulisy tragedii I Heweliusz. Prawdziwa historia #1
- 2025-10-27 Telefony z Androidem są bardzo bezpiecznym kanałem zarządzanie kontem bankowym
- 2025-10-27 logowanie VW
- 2025-10-27 Taka CISZA a z banków ZNIKAJĄ PIENIĄDZE
- 2025-10-27 Warszawa => Generative AI Engineer <=
- 2025-10-27 Warszawa => Gen AI Engineer <=
- 2025-10-27 Warszawa => Dyrektor IT <=
- 2025-10-27 Warszawa => Spedytor Międzynarodowy <=




Zalety drzwi aluminiowych w nowoczesnych projektach architektonicznych