6 õppetundi, mille sain avatud lähtekoodiga projektide arendamisel

Andmeteadlase vaatenurk

Avatud lähtekoodiga kontseptsioon on nii hämmastav! Terve kogukonna allikaid, oskusi ja teadmisi koondades saab luua tööriistu, mida me poleks saanud teha eraldi. Tööriistad, mis nendest koostöödest välja tulevad, on tõesti enamat kui nende osade summa.

Selle tulemusena kasutame meie, andmeteadlased, seda vabalt saadaolevat tarkvara, mis juhib nii palju tehnoloogiaid, kuid millel on siiski võimalus selle arendamisse kaasata.

Viimase paari aasta jooksul oli mul õnn olla avatud lähtekoodiga seotud ning mul oli võimalus arendada ja hallata mitmeid pakette!

Avatud lähtekoodiga tarkvara arendamine on midagi enamat kui lihtsalt kodeerimine

Selle aja jooksul tuli ületada palju tõkkeid ja õppida. Keerulistest sõltuvustest ja API disaini valikutest kuni kasutajabaasiga suhtlemiseni.

Avatud lähtekoodiga töötamine, olgu see siis autori, hooldaja või arendajana, võib olla üsna hirmutav! Selle artikliga jagan mõningaid oma kogemusi selles valdkonnas, mis loodetavasti aitab avatud lähtekoodiga tarkvara arendada.

Kui loote avatud lähtekoodiga tarkvara, ei tee te tavaliselt paketti ainult enda jaoks. Igat tüüpi erineva taustaga kasutajad kasutavad teie tarkvara. Nõuetekohane dokumentatsioon aitab neil kasutajatel alustada.

Kuid ärge alahinnake dokumentatsiooni mõju teie pakendi kasutatavusele! Saate seda kasutada keerukate algoritmide selgitamiseks, ulatuslike õpetuste andmiseks, kasutusjuhtude näitamiseks ja isegi interaktiivsete näidete esitamiseks.

Eriti andmeteadusega seotud tarkvara võib olla keeruline mõista, kui see hõlmab keerulisi algoritme. Nendele selgitustele kui loole lähenemine on sageli aidanud mul neid intuitiivsemaks muuta.

Usu mind, hea dokumentatsiooni kirjutamine on oskus omaette.

Teine eelis on see, et kindlate dokumentide kirjutamine vähendab probleemide lahendamisele kuluvat aega. Kasutajatel on vähem põhjust küsimusi esitada, kui nad leiavad vastused teie dokumentatsioonist.

Ülevaade sellest, kuidas KeyBERT teosed leiate dokumentatsioonist.

Dokumentatsiooni loomine on aga midagi enamat kui lihtsalt selle kirjutamine. Algoritmi või tarkvara visualiseerimine muudab selle intuitiivseks. Saate üsna palju õppida Jay Alammar kui soovite oma dokumentatsioonis algoritmipõhimõtteid visualiseerida. Tema visualiseeringud sattusid isegi ametlikku Nuhklik dokumentatsioon!

Teie kasutajabaas, kogukond, on teie tarkvara oluline komponent. Kuna arendame avatud lähtekoodiga, võib julgelt öelda, et tahame, et nad arendusse kaasataks.

Kogukonnaga suheldes meelitate neid jagama probleeme ja vigu, kuid esitate ka taotlusi ja suurepäraseid ideid edasiseks arendamiseks! Kõik see aitab neile midagi luua.

Avatud lähtekoodiga kogukond on tõesti enamat kui selle osade summa

Paljud BERTopicu põhifunktsioonid, näiteks veebipõhine teemamodelleerimine, on kasutusele võetud, kuna selle kasutajad seda väga nõudsid. Selle tulemusena on kogukond üsna aktiivne ja on olnud tohutult abiks probleemide tuvastamisel ja uute funktsioonide väljatöötamisel.

Funktsioonitaotluste rakendamine kogukonna poolt on kaugel! Väljavõte arutelust siin.

Olenemata sellest, kas teie paketti kasutatakse miljoneid kordi või vaid paar korda, on selle loomine suurepärane võimalus saada rohkem teavet avatud lähtekoodiga, MLO-de, üksuste testimise, API disaini jms kohta. Olen õppinud rohkem nende oskuste kohta avatud lähtekoodiga tarkvara arendamisel. kui oleksin oma igapäevatöös.

Samuti on tohutu õppimisvõimalus kogukonnaga suhtlemisel. Need on need, kes ütlevad teile, millised kujundused neile meeldivad või mitte. Mõnikord olen näinud, et sama probleem ilmneb mõne kuu jooksul mitu korda. See viitab sellele, et peaksin disaini ümber mõtlema, kuna see ei olnud nii kasutajasõbralik, kui olin eeldanud!

Lisaks on avatud lähtekoodiga projektide arendamine andnud mulle võimaluse teha koostööd teiste arendajatega.

Töövälisel ajal oma avatud lähtekoodiga projektidega töötamisel on omad miinused. Minu jaoks on kõige olulisem see, et paketi hooldamine, küsimustele vastamine ja aruteludes osalemine võib olla üsna suur töö.

Kindlasti aitab see, kui olete sisemiselt motiveeritud, kuid võtab siiski üsna palju aega, et veenduda, et kõik on koos.

Õnneks võite vaadata oma kogukonna poole, et aidata teid küsimustele vastamisel, kasutusjuhtumite tutvustamisel jne.

Viimaste aastate jooksul olen õppinud olema muudatuste katkestamisel pisut lõdvestunud. Eriti kui see puudutab sõltuvusi, on mõnikord lihtsalt nii palju, mida saate teha!

Teades, kui sageli teie paketti kasutatakse, aitab see tohutult mõista, kui populaarne see on. Kuid paljud kasutavad endiselt Githubi tähti, et võrdsustada paketti kvaliteedi ja populaarsusega.

Määratlege kindlasti õige mõõdik. GitHubi staare võib lihtsalt korraliku turunduse tõttu liialdada. Paljud tähed ei tähenda populaarsust.

Andmeteadlastena peame kõigepealt mõistma, mida me täpselt mõõdame. GitHubi tähed pole midagi muud kui kasutaja, kes annab pakendile tärni. See ei tähenda isegi seda, et nad on tarkvara kasutanud või et see tegelikult töötab!

KeyBERTi allalaadimiste arv. Palju parem näitaja kui Githubi tähed.

Tehniliselt võin maksta tuhandele inimesele oma repode tärnide eest. Selle asemel keskendun mitmele statistikale, nagu allalaadimised ja kahvlid, aga ka igapäevaste probleemide arvule.

Näiteks on suurepärane, kui teie pakette kuvatakse Hacker Uudised kuid see ei ütle teile, kas seda kasutatakse pidevalt.

Psühholoogina kaldun palju keskenduma oma pakendite kujundamisele. See hõlmab selliseid asju nagu dokumentatsioon ja õpetused, kuid see tähendab isegi seda, kuidas ma kodeerin.

Paketi hõlpsa kasutamise ja installimise tagamine muudab kasutuselevõtu palju lihtsamaks. Eriti kui keskendute sellistele disainifilosoofiatele nagu modulaarsus ja läbipaistvus, muutub mõne paketi kasutamine imeliseks.

Teema modelleerimise modulaarne disain koos BERTOpic.

Psühholoogi vaatenurgast lähtumine uute funktsioonide väljatöötamisel on muutnud palju lihtsamaks teadmise, millele keskenduda. Mida kasutajad otsivad? Kuidas ma saan kodeerida viisil, mis selgitab algoritmi? Miks kasutajad seda paketti tegelikult kasutavad? Millised on minu koodi peamised puudused?

Tavakasutaja mõistmiseks aja võtmine soodustab adopteerimist

Kõik eelnev viib sageli põhilise, kuid olulise reeglini;
Hoidke see ülilihtsaks

Kui ma isiklikult leian, et uut paketti on keeruline installida ja kasutada, ei võta ma seda tõenäoliselt oma töövoogu kasutusele.

Kui olete nagu mina kirglik tehisintellekti, andmeteaduse või psühholoogia vastu, lisage mind LinkedIn või jälgi mind puperdama. Osa minu sisust leiate ka minu lehelt Isiklik veebisait.

Kõik ilma lähtetekstita pildid on autori loodud

6 õppetundi, mille sain avatud lähtekoodiga projektide arendamisel uuesti avaldatud allikast https://towardsdatascience.com/6-lessons-i-learned-from-developing-open-source-projects-4617e26f247c?source=rss—-7f60cf5620c9—4 kaudu https://towardsdatascience.com/feed

<!–

->

Ajatempel:

Veel alates Blockchaini konsultandid