eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAVR po latach › Re: AVR po latach
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
    e.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!
    peer.ams1.xlned.com!news.xlned.com!peer02.ams4!peer.am4.highwinds-media.com!new
    s.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-sp
    o-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
    From: "J.F" <j...@p...onet.pl>
    Subject: Re: AVR po latach
    Newsgroups: pl.misc.elektronika
    User-Agent: 40tude_Dialog/2.0.15.1
    MIME-Version: 1.0
    Content-Type: text/plain; charset="utf-8"
    Content-Transfer-Encoding: 8bit
    References: <smreh5$3aj$1@dont-email.me>
    <a...@n...neostrada.pl>
    <sn3drv$13k$2@dont-email.me>
    <a...@n...neostrada.pl>
    <sn3h62$qna$1@dont-email.me>
    <a...@n...neostrada.pl>
    <sn3lbt$q5v$1@dont-email.me>
    <0...@g...com>
    <sn5ul0$2vi$1@dont-email.me> <2...@m...lan>
    <sn602a$cil$1@dont-email.me> <20211118180102.29f911cc@mateusz>
    <sn61hi$q5d$1@dont-email.me> <20211118182857.67ab36fc@mateusz>
    <sn632k$7cr$1@dont-email.me> <20211118191941.5cd5cbc8@mateusz>
    <sn66n0$2i0$1@dont-email.me> <20211118203536.2ed957df@mateusz>
    <1eohq79peodw1.1sh0vipcxxlku$.dlg@40tude.net>
    <20211119085719.54466a8e@mateusz> <sn7o55$3nb$1@dont-email.me>
    Date: Fri, 19 Nov 2021 10:53:02 +0100
    Message-ID: <1p1313ae4kxxs.1w6e1064h8fs0$.dlg@40tude.net>
    Lines: 45
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.30.109.51
    X-Trace: 1637315580 unt-rea-a-01.news.neostrada.pl 522 83.30.109.51:58634
    X-Complaints-To: a...@n...neostrada.pl
    X-Received-Bytes: 2392
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:768517
    [ ukryj nagłówki ]

    On Fri, 19 Nov 2021 09:44:17 +0100, heby wrote:
    > On 19/11/2021 08:57, Mateusz Viste wrote:
    >> poleglem:
    >>
    >> if (buf) zwolnij_bufor();
    >> if (port) zamknij_port();
    >> return(fail);
    >
    > Ten fragment kodu nie jest za darmo. Innymi słowy ideologię "da się na
    > goto" dostałeś w bonusie z runtime checkiem.
    >
    > Samo życie ideologa C.

    Niby owszem, ale mozna przeciez tez tak:

    void *buf = NULL;
    int port = 0;

    buf = alokuj_bufor();
    if (!buf) goto poleglem_buf;
    if (!napisz_na_port() goto poleglem_write;
    if (!odbierz_z_portu() goto poleglem_read;
    return(sukces);

    poleglem_read:
    poleglem_write:
    zamknij_port();
    poleglem_buf:
    zwolnij_bufor();
    return(fail);

    Popierasz, nie popierasz?

    Fakt, ze to juz bliskie czystej strukturze na if-else.

    Tylko ze czasem algorytm nie ma takiejs czystej struktury.

    J.







Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: