Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: miksi EI gotoa?

Sivun loppuun

Gaxx [29.11.2003 19:02:07]

#

Minua ihmetyttää kun kaikki sanovat ettei gotoa tarvitse käyttää qbasicissa. Tottakai sen voi melkein aina kiertää jollain toisella tavalla, mutta jos vaihtoehtoina on goto ja jokin "purkkaviritelmä" niin kyllä käyttäisin mielummin gotoa. Sanokaa muuten yksikin hyvä syy miksi gotosta pitäisi päästä eroon!!!

sooda [29.11.2003 19:04:15]

#

Se on WANHA qb:n ominaisuus ja se on epäselvää ja debugointi on vaikeaa jne... käytä _AINA_ goton sijasta SUBeja! Gotosta pitää päästä eroon vaikka mikä olisi.

rndprogy [29.11.2003 19:06:26]

#

Niin. ohjelmasta tulee selvempi tapaus, kun katsoo subeista kun selaisi pitkää koodia aina minne goto menee ja se on joskus hankalaa

edit: goto hell

Gaxx [29.11.2003 19:13:05]

#

Tota... subeissa on se ongelma, että kun niitä on jossain ohjelmassa toistasataa(tai jopa enemmän) kappaletta niin subivalikkoa ei ole kovin kiva selailla(ainakaan 7.1:ssa).

sooda [29.11.2003 19:14:46]

#

lainaus:

Tota... subeissa on se ongelma, että kun niitä on jossain ohjelmassa toistasataa(tai jopa enemmän) kappaletta niin subivalikkoa ei ole kovin kiva selailla(ainakaan 7.1:ssa).

no entäs sitten etsiä niitä goto mestoja. Siinäs sitten ongelma...

Gaxx [29.11.2003 19:14:52]

#

tämä ei nyt ole mikään kovin painava peruste mutta kumminkin :)

Gaxx [29.11.2003 19:16:49]

#

Tottakai jos sitä on tunkenut kauhean koodilistan yhteen "subiin", mutta mielestäni on hyvä käyttää järkeä milloin käyttää subeja ja milloin gotoa.

sooda [29.11.2003 19:21:07]

#

Noh, voihan joskus äärimmäistapauksissa subien sisällä käyttää gotoa tai gosubia. Muttei muuten.

Gaxx [29.11.2003 19:22:10]

#

Tuohon minäkin voin yhtyä!

hunajavohveli [29.11.2003 19:50:50]

#

Tähän asti olen AINA onnistunut kiertämään goton, vaikka joskus joutuukin vähän miettimään kiperissä tilanteissa. Kun edistyy ohjelmoinnissa sitä rupeaa hetken päästä tajuamaan itsestäänkin, mikä gotossa mättää. Muuten... ei kellään satu olemaan tietoa voiko ON ERROR GOTO:a kiertää mitenkään toisella tavalla?

rndprogy [29.11.2003 19:52:26]

#

mikset laita ON ERROR GOTO callaus ja siellä laitat call vai eiks toimi.

Antti Laaksonen [29.11.2003 20:38:46]

#

GOTOja käyttämällä ohjelmasta tulee tosiaan helposti sekava. Mutta ei GOTOn korvaamiseen useinkaan aliohjelmaa tarvita, vaan hyvin käytetyt IF-, DO- ja FOR-rakenteet riittävät.

lainaus:

Muuten... ei kellään satu olemaan tietoa voiko ON ERROR GOTO:a kiertää mitenkään toisella tavalla?

Ei oikeastaan. Vasta VB.NETissä on Try...Catch-rakenne virheenkäsittelyyn.

Grey [29.11.2003 20:47:46]

#

GOTO tekee pääohjelmasta aina sekavan, ja jos haluaa jonkin tietyn kohdan etsiä siitä koodimoskasta, niin sitä sitten saa etsiä. SUBeissa kohdan löytää helpommin, vaikka niitä olisi kymmeniä. Lisäksi SUBissa on eräs etu mitä ei ole GOTOssa, ja se on monipuolisuus. Väittäisin oikeastaan että kukin SUB on eräänläinen käyttäjän rakentama käsky ja tässä tapauksessa GOTOakin parempi. On parempi käyttää yhtä SUBia, jolla on sata mahdollista tapaa toimia, kuin vastaava määrä GOTOja.

-Grey-

PS. Qbasic 7.1 kierto onnistuu ON ERROR RESUME NEXT käskyllä.

rndprogy [29.11.2003 20:49:39]

#

Entä sitten FUNCTIOT. mitä eroa nillä on subeihin verrattuna?

Blaze [29.11.2003 20:55:22]

#

Funktiot palauttaa arvon, subit ei.

tomaattigeeni [29.11.2003 20:57:48]

#

Toivottavasti en puhu kovin pahasti paskaa kun väitän, että QB:ssä subit ovat nimenomaan funktioita. Ja niitä voisi tosiaan luonnehtia käyttäjän omaksi käskyksi.
Muissa kielissä, kuten C:ssä lähes kaikki käskyt ovatkin funktiokutsuja, joita voi itsekin luonnollisesti kirjoitella niin paljon kuin kiinnostaa ja vaikka tehdä omia kirjastoja, jolloin pääohjelman voi kirjoittaa käytännössä suomeksi jos nimeää funktiot oikein ;)

rndprogy [29.11.2003 21:06:13]

#

QB:ssä voi kylläkin luoda NEW SUB ja NEW FUNCTION erikseen. eli sub ei ole välttämättä functio


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta