Kako preciznije procijeniti vrijeme čitanja za srednje članke u JavaScript-u

Uvod

Procjena vremena čitanja procjena je vremena koje je čitatelju potrebno za čitanje članka. Dio je temeljnih značajki Medium-a od kada je pokrenut 2013. godine.

Kao što je objašnjeno u New Yorkeru :

Što više o nečemu znamo - uključujući precizno koliko će vremena potrošiti - to će nam se veća šansa posvetiti.

Znanje unaprijed koliko će vremena trebati za čitanje članka pomaže u boljem upravljanju vremenom dopuštajući nam da planiramo dalje.

Zašto bih trebao koristiti novu skriptu?

Da, postoji mnogo biblioteka otvorenog koda dostupnih na npmali sadrže nekoliko mana.

Prije toga, pogledajmo ova dva članka o Medijumu.

  • Vrijeme čitanja - srednja podrška
  • Čitaj vrijeme i ti

Gornja dva članka imaju sljedeće ključne značajke

  • Prosječno vrijeme čitanja (engleski) - 265 riječi u min
  • Prosječno vrijeme čitanja (kineski, japanski i korejski) - 500 znakova / min
  • Vrijeme čitanja slike - 12 sekundi za prvu sliku, 11 za drugu i minus dodatnu sekundu za svaku sljedeću sliku. Ostale su slike brojane 3 sekunde.

Većina knjižnica ne uzima u obzir gore navedene značajke u potpunosti. Koriste HTML nizove onakve kakvi jesu, ne izostavljajući imena oznaka što povećava odstupanje procjene od izvorne vrijednosti.

Kodirati

Kôd se može podijeliti u tri dijela:

  • Konstante
  • Korisnost
  • Glavni

Konstante

Konstante se mogu koristiti kao zadane vrijednosti glavne funkcije. Oznaka slike ima vlastitu uporabu koja će biti definirana kasnije.

Uslužne funkcije

  1. Traka WhiteSpace

Jednostavna je uslužna funkcija za uklanjanje svih praznih prostora koji vode i koji slijede iz ponuđenog niza.

2. Vrijeme čitanja slike

Analizira niz, traži bilo koje oznake HTML slike na temelju zadanih vrijednosti u konstantama i vraća broj.

Ako je broj slika veći od 10, izračunavamo vrijeme čitanja slike za prvih 10 slika u opadajućem aritmetičkom napredovanju počevši od 12 sekundi / koje customReadTimepruža korisnik pomoću jednostavne formule n * (a+b) / 2 i 3 sekunde za preostale slike.

3. Skinuti oznake

Zatim provjeravamo ima li HTML oznaka (obje) u nizu i uklanjamo ih kako bismo iz njega izdvojili samo riječi.

4. Vrijeme čitanja riječi

Ova uslužna funkcija izračunava broj riječi i kineske / korejske i japanske znakove pomoću različitog raspona znakova Unicode .

Vrijeme se izračunava dijeljenjem s gore definiranim konstantama.

5. Humanizirajte vrijeme

Na temelju vremenske udaljenosti u riječima možemo izračunati i vratiti humanizirano trajanje vremena potrebnog za čitanje.

Glavni

Glavna funkcija samo objedinjuje sve korisne metode u ispravnom redoslijedu.

Koliko je točna ova skripta?

Ispitivanje HTML niza (od preglednika Chrome) prije ovog odjeljka članka.

Testovi i stranice jasno daju točnu procjenu ukupnog broja riječi iz raščlanjenog HTML-a i broja slika.

Veze

Objedinio sam kompletan kôd na GitHubu. Dostupan je i kao procjena vremena čitanja paketa npm.

Više cool stvari možete pronaći na mojim StackOverflow i GitHub profilima.

Slijedite me na LinkedIn-u , Medium-u , Twitteru za daljnje ažuriranje novih članaka.

Jedan pljesak, dva pljeska, tri pljeska, četrdeset?

Izvorno objavljeno na blog.pritishvaidya.com 30. siječnja 2019.