-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neost
rada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: "slawek" <s...@h...pl>
Newsgroups: pl.misc.elektronika
References: <a...@n...v.pl>
<odt7u9$ni$1@node2.news.atman.pl>
<a...@n...v.pl>
<a...@n...neostrada.pl>
<a...@n...v.pl>
<a...@n...neostrada.pl>
<a...@n...neostrada.pl>
<a...@n...v.pl>
<a...@n...neostrada.pl>
In-Reply-To: <a...@n...neostrada.pl>
Subject: Re: arduino, początki, inny edytor
Date: Sat, 29 Apr 2017 18:19:49 +0200
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=response
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 14.0.8117.416
X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8117.416
X-Antivirus: AVG (VPS 170429-0, 2017-04-29), Outbound message
X-Antivirus-Status: Clean
Lines: 54
Message-ID: <5904bc98$0$5151$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 188.47.94.189
X-Trace: 1493482648 unt-rea-a-01.news.neostrada.pl 5151 188.47.94.189:13741
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.misc.elektronika:717478
[ ukryj 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
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
- 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?
Najnowsze wątki
- 2025-11-07 OBD2 napięcie akumulatora
- 2025-11-06 citek i GP.
- 2025-11-06 envelo - list polecony
- 2025-11-06 Ostrów Wielkopolski => Specjalista ds. Marketingu Online (PPC) <=
- 2025-11-06 Warszawa => Strategic Account Manager <=
- 2025-11-06 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-11-06 Ktoś się wybiera?
- 2025-11-05 Warszawa => C Programmer <=
- 2025-11-05 Rzeszów => International Freight Forwarder <=
- 2025-11-05 Warszawa => OSS System Administrator <=
- 2025-11-05 Gdańsk => Programista Delphi <=
- 2025-11-05 Warszawa => AWS Cloud Engineer <=
- 2025-11-05 Wrocław => Programista React ze znajomością C++ <=
- 2025-11-05 Wrocław => React Developer with knowledge of C++ <=
- 2025-11-04 A jednak o prawnikach




Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei