Rašant mobilią atsiliepimų aplikaciją Agile turui, man prisireikė klientų pusėje generuoti GUIDus. Kadangi JavaScript to nepaiko, ieškojau pseudo GIUD generavimo būdų. Iš kelių alternatyvų pasirinkau šią:
var guid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); });
O dabar užduotis jums, kas iš skaitytojų paaiškins pateikto kodo veikimo principą?
Rodyk draugams






2011-10-10 20:45
aš tai manau nereikia rašyt jei paskui nesusigaudai … :)
2011-10-10 21:38
http://home.spurgius.com/guidtest.html
paaiškinimas view -> source’e :)
gali būti, kad kai kur suklydau, jei ką pataisyk ;)
2011-10-19 16:38
Toks kodas prieštarauja Agile principams, nes jį sunku suprasti :)
2011-10-19 21:41
Oho kaip :) Nu problema tame, kad GUID generavimas iš JavaScript savaime nėra triviali užduotis. Nors sutinku, kad skaitomumas - 0 :)
2011-10-21 07:25
Veikimo principas nėra sudėtingas:
Yra formatas ir pagal tą formatą kiekvieną x arba y (apribojamas
intervale [8,9,a,b]) keičia randomu sugeneruotas vienženklis
šešioliktainis skaičius.
[WORDPRESS HASHCASH] The poster sent us ‘0 which is not a hashcash value.