17 kriteeriumi uuringute alustamiseks ja kolmandate osapoolte raamatukogude hindamiseks

Miks leiutada ratas uuesti? Arendajatena mõtleme sageli sellele küsimusele. Kui hakkame tutvustama uut funktsionaalsust, kipume ringi vaatama, kas olemasolevad tööriistad, raamatukogud ja seal olevad raamistikud võiksid meie tööd hõlbustada. Lõppude lõpuks, kas tõesti on vaja investeerida aega ja vaeva, et korrata midagi, mis oleks juba loodud ja optimeeritud? Või oleks parem kasutada olemasolevat lahendust ja kohandada seda oma eesmärgi tõhusamaks saavutamiseks?

Enamasti taandub kõik sellele, kas olemasolevad lahendused vastavad meie tehnilistele vajadustele ja mil määral need vastavad meie ärinõuetele. Sel põhjusel on kolmandate osapoolte raamatukogude hoolikas uurimine ja hindamine muutunud arendajate seas väga levinud tegevuseks. Kahjuks on kõige sobivama kolmanda osapoole raamatukogu uurimine ja väljaselgitamine keeruline ülesanne ning erinevate raamatukogude võrdlemine võib sageli osutuda üle jõu käivaks.

Panaseeris mõistsime, et arengu- ja ärikriteeriume sisaldava hindamisraamistiku loomine ja kasutamine võib protsessi sujuvamaks muuta. Täpselt määratletud loetelu uuritavatest kriitilistest valdkondadest annab uurimistöö käigus selge suuna. Lisaks võimaldab mitme raamatukogu hindamine samade nõuete alusel avatumaid ja läbipaistvamaid arutelusid.

Järgnev loetelu on oma uurimistöö tulemus, mille kaudu oleme tuvastanud kriteeriumide komplekti, mida kasutame otsuse tegemiseks, kas võtta Panaseeris vastu kolmanda osapoole raamatukogu ja integreerida see. Ehkki see loetelu kajastab valdkondi, mida peame oma äri ja arengu jaoks oluliseks, loodame, et see julgustab teid kehtestama oma kriteeriumide komplekti, mis sobib teie visiooni ja kultuuriga.

1. Eesmärk

Mis on raamatukogu pakutavad põhifunktsioonid?

Ehkki erinevad kolmanda osapoole teegid lahendavad sama probleemi, on neil sageli erinevad eesmärgid ja nad pakuvad seega täiendavat ainulaadset funktsionaalsust. Seda märkides saame kindlaks teha, milline neist sobib kõige paremini meie praeguse ja tuleviku nõuetega. Näiteks kui visualiseerimisraamatukogusid hinnatakse tulpdiagrammide genereerimiseks, võib konkreetne teek olla pakutavate täiendavate diagrammitüüpide tõttu teistest sobivam.

2. Tehnoloogia

Millisel tehnoloogial raamatukogu põhineb? Kui hästi saaks see integreerida olemasoleva koodbaasiga?

Tahame kaaluda iga raamatukogu tehnoloogiat selle võimaliku mõju tõttu kasutajakogemusele ja arendustööle, sealhulgas integreerimiseks olemasoleva koodbaasiga. Tagasi meie visualiseerimisraamatukogude näite juurde võiks kolmanda osapoole raamatukogu rentida elemente SVG kaudu, samas kui teine ​​võiks seda teha Canvas API abil, mis võib mõjutada nii rakendustegevust kui ka jõudlust.

3. Arenduskomplekt

Mida pakub raamatukogu arenduskomplekti osas? Kas see kiirendab või aeglustab arenguaega?

Selle aluseks oleva tehnoloogia kõrval uurime tegelikku arenduskomplekti, mida iga kolmanda osapoole raamatukogu pakub. Näiteks vaatame, kas teatud raamatukogudes on kasulikke tööriistu või põhjalikke API-sid, mis võivad vajaliku lahenduse rakendamist hõlbustada.

4. Dokumentatsioon

Kas raamatukogu dokumentatsioon on põhjalik? Kas see sisaldab näiteid ja koodilõike? Kas navigeerida on lihtne?

Hästi kirjutatud, ammendav ja ajakohane dokumentatsioon on alati väärtuslik, seda enam, kui funktsionaalsust arendatakse uue kolmanda osapoole raamatukoguga. Raamatukogu dokumentatsiooni lihtsast sirvimisest piisab sageli selleks, et tunneksime, mida oodata, ja võtame seda lõpliku otsuse tegemisel arvesse.

5. Maksumus

Kas see on tasuta või esmaklassiline raamatukogu? Kui suur oleks ligikaudne maksumus? Millised on saadaolevad ostuvõimalused?

Raamatukogu vastuvõtmisega kaasnevate rahaliste kulude kindlaksmääramine on äri seisukohast väga oluline ja võib lõppkokkuvõttes otsustusprotsessis midagi muuta. Ehkki lisatasu teegihindu on suhteliselt lihtne võrrelda, peaksime võrdselt arvestama arendusaega ja kaasnevaid kulusid, mida iga raamatukogu vajaliku lahenduse saamiseks vajaks.

6. Väljalasked

Mis on raamatukogu praegune versioon? Kas raamatukogu saab regulaarseid värskendusi? Kas see järgib vabastamisstrateegiat?

Kolmanda osapoole raamatukogu väljalaske ajalugu on selle väljalaskestrateegia hea näitaja, pakkudes teavet selle kohta, mida võib selle raamatukogu jaoks oodata värskenduste, veaparanduste ja oluliste muudatuste osas. Need tegurid mängivad sageli suurt rolli, kui otsustame, millist teeki valida. Usaldusväärse vabastamisstrateegiaga hästi toetatud raamatukogu võib sageli sellega loodud funktsioonide kasutusiga pikendada.

7. Suurus

Mis on raamatukogu tegelik failisuurus? Kui palju see olemasolevale kimbu suurusele lisab?

Ehkki see pole tingimata oluline, tasub siiski vaadata raamatukogufailide suurust, eriti nende minimeeritud versioonides, ja mõelda, kui palju see mõjutab olemasolevat kimpude suurust. Tavaliselt, mida väiksem, seda parem.

8. Kogukonna toetus

Kui suur ja aktiivne on raamatukogu ümbritsev kogukond? Kui palju arendajaid on panustanud raamatukogu lähtekoodi? Kui lihtne on veebist teavet ja abi leida?

Sõltuvalt sellest, kui populaarne või uuem raamatukogu on, võib veebist teabe, näpunäidete ja küsimustele vastuste saamine olla enam-vähem keeruline. Kui teil on ettekujutus, mida oodata tasuta toetuse osas, saate kindlaks teha, kui sobiv kolmanda osapoole raamatukogu tegelikult on. Tavaliselt kogume seda lihtsate mõõdikute abil kiirete veebipõhiste otsingute kaudu, näiteks raamatukogu kaastöötajate arv GitHubis või raamatukogu otsingutulemid StackOverflow'is.

9. Professionaalne tugi

Kas raamatukoguga seotud abi saamiseks on olemas professionaalset tuge? Kas tuge pakuvad raamatukogu loojad või välised vabakutselised ja konsultandid?

Juhtudel, kui kolmandate osapoolte teegid pole avatud lähtekoodiga, on üldjuhul keerukam teavet hankida veebiressursside (nt GitHub ja StackOverflow) kaudu. Seetõttu otsime, millised on raamatukoguga töötamise ajal saadaolevad võimalused, milliseid professionaalseid teenuseid pakutakse ja millised on sellega kaasnevad kulud.

10. Litsents

Mis litsentsi alusel raamatukogu avaldatakse ja levitatakse? Millised on sellega seotud nõuded?

Avatud lähtekoodiga raamatukogudes on litsentsid, mis võimaldavad tarkvara üldiselt vabalt kasutada, muuta ja jagada, samas kui premium-teegid sisaldavad sageli täpset loetelu rangetest nõuetest. Sõltuvalt litsentsist võib kolmanda osapoole raamatukogu olla enam-vähem sobiv teatud ettevõtte, rakenduse või funktsiooni jaoks. Seetõttu hindame enne konkreetse raamatukogu vastuvõtmist litsentsi aspekti, et olla kindel, et mõistame vastavaid kohustusi ja vältida tulevikus võimalikke juriidilisi probleeme.

11. Etendus

Kui esineja on raamatukogu? Kas oodatav jõudlus on kooskõlas tehniliste ja kasutajate nõuetega?

Kolmanda osapoole raamatukogu jõudluse hindamine enne selle integreerimist olemasolevasse koodbaasi on tõenäoliselt üks keerulisemaid ülesandeid. Püüame vähemalt teavet ja mõõdikuid välja uurida veebis uurides, kas raamatukogu dokumentatsioonis või veelgi parem - teiste arendajate kogemuste kaudu. Meie vaatevinklist peaks raamatukogu jõudlus vastama vähemalt pakutud lahenduse jaoks kindlaksmääratud tehnilistele ja kasutajanõuetele

12. Brauseri ühilduvus

Milliseid brausereid raamatukogu toetab? Kas mõni kriitiline brauser puudub?

Ühilduvus brauseritega kujutab esiotsa arendajatele sageli valupunkti, veelgi enam, kui kasutate muude tootjate raamatukogusid. Meie kogemuste põhjal peaks teabe leidmine selle kohta, mida brauserid antud teegis toetavad, olema üsna sirgjooneline ja seda kindlasti väärt.

13. Seadme ühilduvus

Milliseid seadmeid raamatukogu toetab? Millised on toetatud interaktsiooni režiimid?

Lisaks brauseriteülesele ühilduvusele tuleb sageli hinnata ka muude tootjate esiotsakogusid toetatud seadmetüüpide suhtes. Näiteks võib sõltuvalt konkreetsest ehitatavast lahendusest olla vajalik valida teeki, mis integreerib konkreetse mobiilse opsüsteemi puutefunktsioonid täielikult. Isegi kui seda otseselt ei nõuta, on meie arvates hea mõte loetleda ühilduvad seadmed raamatukogude lühikese nimekirja läbimisel, kui midagi muud nende tulevikupotentsiaali hindamiseks pole.

14. Andmete vorming

Millised on raamatukogu andmevormingu nõuded? Kas raamatukogu vastab standardiseeritud andmestruktuurile?

Kuigi kõik kolmandate osapoolte teegid käsitlevad sisendandmete ja väljundite kaudu mingisuguseid andmeid, võivad mõnel neist olla oodatavate vormingute või struktuuride osas ranged nõuded. Meie jaoks on nende loetlemisel ja hindamisel hõlpsam aru saada, kas teeki saab andmete vaatenurgast hõlpsalt olemasolevasse koodipõhisse integreerida.

15. Vaata ja tunne

Kas raamatukogul on omapärane välimus ja tunne? Kui kohandatav see on? Kas seda saab ühtlustada olemasoleva rakendusega?

Kui kolmanda osapoole raamatukogu sisaldab visuaalset väljundit, usume, et selle välimus ei tohiks olemasolevast rakendusest kaugemale vaadata. Sel põhjusel on meie arvates hea mõte uurida, kui kohandatav on raamatukogu välimus ja tunne, millisel tehnoloogial stiil põhineb, ning milline oleks soovitud välimuse rakendamiseks vajaminev aeg.

16. Laiendatavus

Kas on võimalik raamatukogu funktsionaalsust laiendada? Kas seda julgustatakse? Kas juba on saadaval kolmanda osapoole pluginaid või laiendusi?

Sõltuvalt loodavast funktsioonist ja funktsioonidest, mida raamatukogu pakub karbist välja, võib osutuda vajalikuks laiendada või optimeerida teegi põhikomponente. Kõik kolmandate osapoolte teegid seda ei luba, kuna see tuleneb tegelikult litsentsist, mille alusel neid levitatakse. Arvestades konkreetse raamatukogu kasutuselevõtu pikaajalist mõju, on meie jaoks kriitiline mõistmine selle laiendamisega seotud juriidiliste ja tehniliste piirangute osas.

17. Tulevane suund

Milline on raamatukogu visioon? Kas tegevuskava on saadaval? Kas see on kooskõlas olemasoleva rakendusega?

Kolmandate osapoolte raamatukogude hindamisel tuleks alati arvestada raamatukogu tulevikuplaanide teavet. Usume, et see ei anna mitte ainult ülevaadet tulevastest funktsioonidest, parandustest ja veaparandustest, vaid takistab ka kõigi teegi kasutuselevõttu, mis võiksid peagi toetuse saamise lõpetada või isegi täielikult allahinnata.

Nagu juba mainisime, võib kolmandate osapoolte raamatukogude hindamiskriteeriumide kindlaksmääramine ja nende osas kokkuleppimine teenida mitut eesmärki, alates teabe uurimise juhendite pakkumisest kuni arutelude ja otsuste tegemise ühise aluseni. Loomulikult peaks nende eesmärkide täielikuks täitmiseks loetelu ise kajastama nii hinnatavate raamatukogude olemust kui ka pakutud funktsioonile seatud äri- ja tehnilisi nõudeid. Kriteeriumid võivad seetõttu muutuda sõltuvalt sellest, kas hindamine toimub esiotsa või tagaraamatukogude ümber, olemasolevatest ajalistest piirangutest ja muidugi eelmistest hindamisprotsessidest õpitu põhjal.

Vaatamata sellele, et tegemist on lihtsa uurimisalaga, on sellise raamistiku kasutamine Panaseeril juba osutunud uute esiotstarbeliste raamatukogude vastuvõtmiseks väga väärtuslikuks. Mitte ainult, meeskonnana hindame, laiendame ja optimeerime pidevalt oma kriteeriumide loetelu. Lõppude lõpuks on selle raamistiku parim osa see, et seda saab hõlpsasti kohandada vastavalt igale uurimistöö eesmärgile ja kontekstile.

Kuidas sinuga on? Kas teil on loodud raamistik kolmandate osapoolte raamatukogude hindamiseks? Kas tunnete, et meil puuduvad asjakohased kriteeriumid? Anna meile teada!