RSS Feed LinkedIn Google Plus

Címke: random

  1. Kell-e a seed a randomhoz?

    2013. április 20. szombat

    Olvastam egy jó cikket a JavaScript-beli Math.random()-ról. Ha csupán (pszeudo)véletlen számokat szeretnénk, akkor tökéletes, számomra nagyon szimpatikus volt, hogy nem kell más nyelvekhez hasonlóan inicializálni. Ez teljesen feleslegesnek tűnt egészen a legutóbbi és egyben első magyarországi Leacy Coderetreat-ig, amikoris megörökölt, véletlenszerű működésre alapuló programot kellett helyrepofoznunk, karbantartanunk. Az első lépés természetesen a tesztek írása – no, de hogyan? Más programnyelvben dolgozó kollégáim könnyen megoldották a kérdést, hiszen beégetett seed-et használtak a teszt adatok generálásához (itt akadtak gondok, amikor különböző platformon más sorozatot adott ugyanaz a seed), nekünk, script nyelveseknek más utat kellett járnunk: legeneráltuk előre a random számokat, és mindig ebből dolgoztunk.

    A fent említett cikkben több megoldás is található, ha nem elsődleges szempont a sebesség, de szükségünk van előre tervezhető véletlenszerű értékekre, David Bau megoldása tökéletes választás lehet JavaScripthez. Hátránya, hogy a natív Math objektumot módosítja, előnye viszont hogy transzparens – teszthez bekapcsolhatjuk, éles környezetben pedig továbbra is az eredeti Math.random() állhat rendelkezésünkre.

    Remélem, sikerült felkeltenem az érdeklődésedet, s bár a következő (egyben Legacy) CodeRetreat-re nincs már több hely, ha feliratkozol a Meetup.com-on, értesülhetsz a további lehetőségekről.