eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJava i gotoRe: Java i goto
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!goblin2!goblin.stu.neva.ru!feeder3.cambriumusenet.nl!feed.tweaknews.nl
    !postnews.google.com!d17g2000vbv.googlegroups.com!not-for-mail
    From: Andrzej Jarzabek <a...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: Java i goto
    Date: Wed, 27 Jun 2012 06:21:48 -0700 (PDT)
    Organization: http://groups.google.com
    Lines: 60
    Message-ID: <7...@d...googlegroups.com>
    References: <jsa652$98b$2@inews.gazeta.pl>
    <b...@4...com>
    <8...@h...googlegroups.com>
    <jseh12$98b$21@inews.gazeta.pl>
    <e...@h...googlegroups.com>
    <3...@n...googlegroups.com>
    <jseplq$iu5$1@inews.gazeta.pl>
    NNTP-Posting-Host: 80.254.146.36
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1340803309 30938 127.0.0.1 (27 Jun 2012 13:21:49 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Wed, 27 Jun 2012 13:21:49 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: d17g2000vbv.googlegroups.com; posting-host=80.254.146.36;
    posting-account=jr5y-woAAAAWidgVjrSJ6j8m650CTb-v
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like
    Gecko) Chrome/19.0.1084.56 Safari/536.5,gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:198164
    [ ukryj nagłówki ]

    On Jun 27, 12:09 pm, Edek Pienkowski <e...@g...com>
    wrote:
    > Dnia Wed, 27 Jun 2012 03:43:27 -0700, Andrzej Jarzabek napisal:
    > >> > > private boolean find()
    > > [...]
    >
    > > A właściwie może nie. Więc: dlaczego widać, że niewystarczająco dobrze
    > > sformułowałes poglądy? Czy nie chodziło ci o to, że twój przykład
    > > wykazuje, że czasem goto jest najlepszym rozwiązaniem? No więc w czym
    > > moje rozwiązanie, bez goto a z dwoma returnami, jest gorsze od tego z
    > > goto?
    >
    > Nie jest rozwiązaniem w ogóle. Można by nim zastąpić taki kod:
    >
    > ....  goto do_return;
    >
    > do_return:
    >     return;
    >
    > }; // end of method

    Nie. Twój pierwotny kod:
    for()
    for() {
    if (findSth()) {
    found = sth;
    goto search_complete;
    }
    }
    }

    throw new Failure();
    search_complete:

    Można zastąpić kodem:
    if(!find()) throw new Failure();

    gdzie funkcja find() jest zdefiniowana tak, jak napisałem.

    > To całkiem niezły substytut goto, ograniczony, ale rozwiązujący tego
    > typu problemy. Nie wiem, czy spotkam w praktyce przypadek, gdzie
    > potrzebne byłoby goto a nie powyższe, chociaż znam takie.

    W ogóle przypadki, kiedy goto jest potrzebne są ekstremalnie rzadkie -
    i to nawet nie "potrzebne" w sensie "bez goto się nie da", bo takich
    przypadków nie ma w ogóle, tylko "potrzebne" w sensie "lepiej z goto
    niż bez goto"

    > Czyli
    > mój problem nie tylko został zauważony w ogóle, ale jest uwzględniony
    > w konstrukcji języka Java, chociaż o tym nie wiedziałem, a dzięki
    > temu wątkowi wiem.


    Good for you.

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: