Hirdetés

Új hozzászólás Aktív témák

  • nope
    tag

    Mi a baj a goto-val?
    Értem én, h végtelen ciklus, de már középiskolában se tudta gyakorlatiasan elmagyarázni a tanár, hogy miért kerülendő. Ha van egy jó feltételed, soha nem kerül az végtelen ciklusba.
    Inkább az a veszélyes, ha a ciklus magból ugrálsz ki illetve vissza be.
    A folyamatosan futó task-okkal sincs semmi probléma akku idő szempontjából, ha amúgy az idő nagy részében csak a wait parancs fut. Ez alatt az Android ugyanúgy lemegy deep sleep-be.
    szerk: persze ha csak néhány perces wait parancsok vannak, akkor nem biztos ez, olyankor ébren maradhat a telefon. :)

    A goto parancs gykorlatilag a régi basic nyelvből származik ami meglehetősen egyszerű mai szemmel nézve (igen, a Taker is az, de hát nem is programnyelv). Ott még a sorok sorszámozva voltak, és nem volt lehetőség függvény (function) használatára.
    A később programnyelvek némelyike ( pl. C) még meghagyta a goto-t, de a struktúrált programozási technika bizonyította, hogy nincs rá szükség.
    Pl. a Java nyelvben fenntartott szó (azaz változó névnek nem használható), de nincs ilyen parancs.

    Hogy miért ne?
    Pont az ilyen sorszámozott programnyelveknél a legveszélyesebb, mert ha később változtatsz egy kódot, nem tudhatod, hogy valahonnan nincs-e egy ugrás arra a kódrészletre, amit éppen átírsz. Nyilván a Tasker esetén általában nincsenek többoldalas kódok, így átlátható, de egy komolyabb kód esetén, pláne ha többen is dolgoznak rajta, egyszerűen tilos.

    http://en.wikipedia.org/wiki/Go_To_Statement_Considered_Harmful

    Folyamatosan futó task: azért annak is oka van, hogy a beállításokban be lehet állítani a várakoztatott taskok maximális számát (tudom, csak közvetve érinti a párhuzamosan futó taskokat). Ha valamit meg lehet oldani, úgy, hogy ne legyen folyamatosan futó task (a fenti eset jó példa), akkor érdemes úgy megoldani, még ha nem is okoz problémát.
    De végezz el egy tesztet: írj egy végtele ciklust, benne egy jól látható műveletet, pl. a flash ki-be kapcsolása másodpecenként (ha nincs, akkor a fényerő változtatása két fázis között, vagy valami hasonló). Indítsd el, majd kezdd el használni a telefont. Nem kell nagy dolog, menj be a gyári beállításokba, nézegesd a kontaktokat, naptárad, stb. A villogás ritmusa jól láthatóan szétesik, és bár a Tasker prioritása (nagyon helyesen) alacsony, azért ez vice versa is.

    Nope

Új hozzászólás Aktív témák