-
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
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
Najnowsze wątki
- 2025-06-07 Gdańsk => PHP Developer <=
- 2025-06-07 Warszawa => Specjalista ds. Sprzedaży <=
- 2025-06-07 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-06-07 Warszawa => Sales Assistant and Customer Development Specialist <=
- 2025-06-07 Warszawa => Programista Full Stack .Net <=
- 2025-06-07 Lublin => Delphi Programmer <=
- 2025-06-07 Warszawa => Administrator Systemów OSS <=
- 2025-06-06 Takich niestrzeżonych przejazdów kolejowych są w Polsce setki, a tysiące w Europie
- 2025-06-06 Gdańsk => Team Lead Data Engineer (Snowflake) <=
- 2025-06-06 Gdynia => MLOps Engineer <=
- 2025-06-06 Białystok => NMS System Administrator <=
- 2025-06-06 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-06-06 Znowu nasze zuchy z Policji.
- 2025-06-06 mBank a składka z polisy OC - za rok 2020 pobrana teraz
- 2025-06-06 Patrioci? Wolność słowa?