Kuinka arvioida tarkemmin JavaScriptin Medium-artikkeleiden lukuaika

Johdanto

Read Time Estimate on arvio ajasta, jonka lukija vie artikkelin lukemiseen. Se on ollut osa Mediumin ydinominaisuuksia vuodesta 2013 lähtien.

Kuten New Yorker -lehdessä selitettiin :

Mitä enemmän tiedämme jostakin - mukaan lukien kuinka paljon aikaa se kuluttaa - sitä suurempi mahdollisuus sitoudumme siihen.

Aikaisempi tieto siitä, kuinka kauan artikkeli lukee kestää, auttaa parantamaan ajanhallintaa antamalla meille mahdollisuuden suunnitella eteenpäin.

Miksi minun pitäisi käyttää uutta komentosarjaa?

Kyllä, npm: llä on monia avoimen lähdekoodin kirjastojamutta niissä on useita puutteita.

Ennen sitä katsotaanpa nämä kaksi Medium-artikkelia.

  • Lukeaika - keskimääräinen tuki
  • Lue aika ja sinä

Edellä olevilla kahdella artikkelilla on seuraavat keskeiset ominaisuudet

  • Keskimääräinen lukuaika (englanti) - 265 sanaa minuutissa
  • Keskimääräinen lukuaika (kiina, japani ja korea) - 500 merkkiä / min
  • Kuvan lukuaika - 12 sekuntia ensimmäiselle kuvalle, 11 sekuntia toiselle ja miinus toinen sekunti jokaiselle seuraavalle kuvalle. Muut kuvat lasketaan 3 sekunnissa.

Suurin osa kirjastoista ei ota huomioon yllä olevia ominaisuuksia kokonaan. He käyttävät HTML-merkkijonoja sellaisenaan jättämättä pois sen tagien nimiä, mikä lisää estimoinnin poikkeamaa alkuperäisestä arvosta.

Koodi

Koodi voidaan jakaa kolmeen osaan:

  • Vakiot
  • Apuohjelma
  • Main

Vakiot

Vakioita voidaan käyttää päätoiminnon oletusasetuksina. Kuvalipulla on oma käyttö, joka määritellään myöhemmin.

Apuohjelman toiminnot

  1. Strip WhiteSpace

Se on yksinkertainen apuohjelmatoiminto, joka poistaa kaikki etu- ja loput välilyönnit toimitetusta merkkijonosta.

2. Kuvan lukuaika

Se jäsentää merkkijonon, etsii mahdollisia HTML-kuvatunnisteita vakioissa olevien oletusarvojen perusteella ja palauttaa määrän.

Jos kuvamäärä on suurempi kuin 10, lasketaan ensimmäisten 10 kuvan kuvan lukuaika laskevassa aritmeettisessa etenemisessä alkaen 12 sekunnista / customReadTimekäyttäjä antaa yksinkertaisen kaavan n * (a+b) / 2 ja 3 sekuntia muille kuville.

3. Nauhatunnisteet

Seuraavaksi tarkistamme merkkijonossa olevat HTML-tagit (molemmat) ja poistamme ne poimimaan vain sanat.

4. Sanojen lukuaika

Tämä apuohjelmatoiminto laskee sanojen määrän sekä kiinalaiset / korealaiset ja japanilaiset merkit käyttämällä eri Unicode- merkistöaluetta.

Aika lasketaan jakamalla se yllä määriteltyihin vakioihin.

5. Humanisoi aika

Sanojen aikamatkan perusteella voimme laskea ja palauttaa lukemiseen kuluvan ajan humanisoidun keston.

Main

Päätoiminto vain yhdistää kaikki hyödyllisyysmenetelmät oikeassa järjestyksessä.

Kuinka tarkka tämä käsikirjoitus on?

Testien tekeminen HTML-merkkijonolle (Chrome-tarkastajalta) ennen tätä artikkelin osaa.

Testit ja sivut antavat selvästi oikean arvion jäsennetyn HTML-koodin sanojen kokonaismäärästä ja kuvien määrästä.

Linkit

Olen konsolidoinut koko koodin GitHubiin. Se on saatavana myös npm-paketin lukuaika-estimaattina.

Lisää hienoja juttuja löytyy StackOverflow- ja GitHub- profiileistani.

Seuraa minua LinkedInissä , Mediumissa , Twitterissä päivittääksesi uusia artikkeleita.

Yksi taputus, kaksi taputusta, kolme taputusta, neljäkymmentä?

Alun perin julkaistu osoitteessa blog.pritishvaidya.com 30. tammikuuta 2019.