- Datoteka README je glavni dokument, ki pojasnjuje, kaj digitalni projekt vsebuje, čemu služi in kako ga uporabljati.
- Običajno je napisan v navadnem besedilu ali Markdownu (README.md) in vključuje opis, namestitev, uporabo, zahteve, licenco in kontaktne podatke.
- Na GitHubu je datoteka README prikazana na domači strani repozitorija in služi kot uvod in osnovni vodnik za uporabnike in sodelavce.
- Jasen, popoln in posodobljen README dokument izboljša razumevanje, zmanjša napake in olajša sodelovanje pri katerem koli projektu.
Če delate z digitalnimi projekti, boste prej ali slej naleteli na datoteko z imenom READMEČeprav se morda zdi kot preprost besedilni dokument, je veliko pomembnejši, kot se zdi: je spremno pismo za vaš projekt, prva vstopna točka za vse, ki želijo vedeti, kaj ste naredili, kako to uporabljati in ali je vredno njihovega časa.
V svetu razvoja programske opreme, podatkovne znanosti ali celo v akademskem delu in skupnih projektih, a Dobro napisano v datoteki README Prihrani vam čas, prepreči napake in olajša drugim (ali celo vam samim čez nekaj mesecev) hitro razumevanje namena projekta. Oglejmo si podrobneje, kaj so datoteke README, čemu so namenjene, kaj naj bi vsebovale in kako jih kar najbolje izkoristiti.
Kaj točno je datoteka README?
Datoteka README je besedilni dokument, ki spremlja digitalni projekt Njegov glavni cilj je jasno razložiti, kaj projekt vsebuje, čemu služi in kako ga uporabljati. Dobesedno bi bilo nekaj takega kot »preberi me« in prav to je njegova funkcija: biti prva stvar, ki jo nekdo prebere, ko odpre repozitorij, podatkovno mapo ali programski paket.
To vrsto datoteke je mogoče shraniti v različnih besedilnih formatov: iz klasike readme.txt (navadno besedilo) do readme.doc, readme.1st ali manj pogoste razširitve, kot so . MeSpecifična oblika je običajno prilagojena operacijski sistem in program, s katerim bo prikazantako da lahko kateri koli uporabnik brez zapletov odpre in prebere datoteko.
Danes, zlasti v programskih projektih in repozitorijih kode, je najpogostejša oblika PREBERITE.mdKončnica .md označuje, da je datoteka napisana v jeziku MarkdownHTML je zelo preprost označevalni jezik, ki omogoča pretvorbo besedila v HTML z le nekaj simboli za oblikovanje. To olajša oblikovanje vsebine. enostavno berljivo tako v surovi kot upodobljeni obliki na spletupoleg tega, da omogoča naslove, sezname, povezave, tabele, slike in drugo brez zapletov.
Dobro strukturirana datoteka README uporabniku ali sodelavcu ponuja popoln in razumljiv povzetek projektaNi mišljen kot izčrpen dokument, temveč kot praktičen vodnik: kaj projekt počne, zakaj je uporaben, kako ga začeti uporabljati in kje po potrebi najti več informacij.
Na področju podatkov, na primer v repozitorijih naborov podatkov, je zelo pogosto, da je datoteka README (včasih v formatu readme.txt) zbirati Splošne informacije, avtorstvo, ključne besede, geografska in časovna pokritost, licenca za uporabo in metodologija ki se uporabljajo za ustvarjanje ali zbiranje podatkov, kot tudi Priporočena programska oprema za delo z njimi.
Kratka zgodovina in standardna uporaba datotek README
Čeprav jih danes večinoma povezujemo s platformami, kot je GitHub, praksa vključevanja datoteke README v programske pakete izvira iz ... pred desetletjiObstajajo dokumentirani primeri, ki segajo v leto sredi sedemdesetih let prejšnjega stoletja, ko so se programi že distribuirali s kratkim dokumentom, ki je pojasnjeval njihovo vsebino in uporabo.
Sčasoma se je praksa tako uveljavila, da je v Standardi kodiranja GNU (standardi kodiranja GNU) se datoteka README šteje za zahtevaTi standardi so močno vplivali na ekosistem proste programske opreme in prispevali k temu, da je datoteka README skoraj obvezna v vsakem resnem programskem paketu.
Ko je splet postal standardna platforma za distribucijo programske opremeŠtevilni projekti so začeli nekatere informacije, ki so bile prej v datoteki README (priročniki, licenca, novice itd.), premikati na spletna mesta, wikije ali paket tarball z izvorno kodoKljub temu datoteka README ni nikoli izginila: v mnogih primerih je ostala lokalni povzetekčeprav je bila včasih v primerjavi s spletno dokumentacijo nekoliko nepopolna.
Priljubljenost platform, kot so GitHub Prizadevanja bolj uveljavljenih skupnosti proste programske opreme so datoteke README znova postavila v ospredje. Na primer, če repozitorij vsebuje datoteko README v korenskem imeniku, jo bo sistem samodejno dodal. Samodejno pretvori v HTML in ga prikaže na domači strani projekta, zato je to prva stvar, ki jo vidite, ko vstopite.
Poleg tega se pojem »datoteke readme« včasih uporablja v generično Za sklicevanje na kateri koli kratek dokument, ki pojasnjuje vsebino mape ali projekta, tudi če datoteka ni natančno poimenovana README. Številni projekti brezplačne programske opreme distribuirajo standardni nabor datotek skupaj z datoteko README, od katerih ima vsaka dobro definirano funkcijo.
Tipične datoteke, ki spremljajo datoteko README
Pri projektih, ki sledijo standardom, kot so Standardi Gnits ali tiste, ki so bile ustvarjene z orodji, kot so GNU AutotoolsPoleg glavne datoteke README je pogosto mogoče najti tudi druge besedilne datoteke, ki dopolnjujejo informacije o projektu. Nekatere najpogostejše so:
- README: splošne informacije o projektu, namenu in celotni viziji.
- AVTORJI: seznam glavnih avtorjev ali sodelavcev.
- HVALA: zahvale ljudem ali ustanovam, ki so pomagale.
- KANGELOG: podroben dnevnik sprememb, namenjen predvsem razvijalcem.
- NOVICE: bolj jedrnat in razumljiv dnevnik sprememb za končne uporabnike.
- INSTALL: posebna navodila za namestitev in tehnične zahteve.
- KOPIRANJE / LICENCA: besedilo licence za programsko opremo za uporabo in distribucijo.
- NAPAKEZnane napake in načini za njihovo pravilno prijavo.
- FAQPogosto zastavljena vprašanja in njihovi odgovori.
- VSEseznam čakajočih nalog in načrtovanih prihodnjih izboljšav.
Vsi ti dokumenti, skupaj z datoteko README, obrazcem ogrodje osnovne dokumentacije mnogih paketov. V nekaterih primerih so nekatere od teh informacij podvojene tako v repozitoriju kot na spletni strani projekta, da se olajša dostop iz različnih kanalov.
Vloga datoteke README na GitHubu in podobnih platformah
Na GitHubu ima datoteka README še posebej pomembno vlogo. Za začetek je običajno prva stvar, ki jo kdo vidi ki obišče vaše skladiščeČe je datoteka dobro narejena, bo v nekaj sekundah jasno, kaj projekt počne, zakaj bi bil morda zanimiv, kako ga zagnati in kdo stoji za njim.
GitHub samodejno prepozna datoteko README, ko je postavljena na določena mesta v repozitoriju. Če jo postavite v mapo .github, en el korenski imenik ali v mapi docsplatforma ga zazna in vidno prikazuje obiskovalcem. Ko je na voljo več datotek README, GitHub sledi vrstni red prioritet: prvo iskanje v .github, nato pri korenu in končno pri docs.
Poleg tega, če ustvarite javno skladišče, katerega ime se natančno ujema z vašim uporabniško ime In če v korensko mapo dodate datoteko README, ta datoteka samodejno postane vaša Profilna datoteka READMEPrikazan je na vaši uporabniški strani, kar vam omogoča, da ustvarite razdelek s predstavitvijo po meri z uporabo GitHub Flavored Markdown.
Ko si na GitHubu ogledate datoteko README (ali katero koli datoteko .md), platforma samodejno ustvari Kazalo na podlagi naslovov dokumentov. To kazalo si lahko ogledate s klikom na ikono »Oris«, kar močno olajša navigacijo po dolgih datotekah README z več razdelki.
GitHub omogoča tudi neposredna povezava do določenih razdelkovVsak naslov samodejno ustvari sidro; če preprosto premaknete miško nad naslov, se prikaže ikona povezave. To vam omogoča, da delite URL-je, ki kažejo neposredno na določen del datoteke README, ki ga želite izpostaviti (na primer razdelek o namestitvi ali prispevkih).
Obstaja ena pomembna praktična podrobnost: zaradi zmogljivosti, če vaš README presega 500 KB velikosti, GitHub bo skrajšal vsebino Od te točke naprej v upodobljenem pogledu. Zato je priporočljivo, da datoteko README shranite za bistvene informacije in dolge vadnice ali priročnike premaknete na wikije ali ločeno dokumentacijo.
Oblika in povezave znotraj datoteke README
Za enostavno vzdrževanje datoteke README in njeno dobro delovanje tako na GitHubu kot v lokalnih klonih je priporočljiva uporaba relativne povezave in poti do slik glede na datoteko, v kateri se nahajajo. Če imate na primer datoteko README v korenskem imeniku in dokument docs/CONTRIBUTING.mdPovezava v datoteki README bi izgledala nekako takole: (docs/CONTRIBUTING.md).
Ta vrsta relativne povezave pomeni, da pri preklapljanju vej ali kloniranju repozitorija, poti še naprej delujejo pravilno brez potrebe po spreminjanju. GitHub interno preoblikuje te poti, da kažejo na pravilno različico datoteke glede na prikazano vejo. Poti, ki se začnejo z /ki se interpretirajo glede na koren repozitorija, kot tudi običajne operatorje, kot so ./ o ../.
Pomembno je, da besedilo povezave Povezavo naj bo v eni vrstici, saj lahko njena razdelitev na več vrstic povzroči nepravilno delovanje. Poleg tega se izogibajte absolutnim povezavam do datotek notranjega repozitorija, saj lahko te prekinjajo delovanje, če se osnovni URL spremeni ali če se ustvari razcep (fork).
Glede obsega dokumenta je treba vedeti, da mora datoteka README vsebovati le bistvene informacije za začetek uporabe in prispevanja k projektu. Za obsežno dokumentacijo (uporabniški priročniki, popolni vodniki za API itd.) je bolj čisto uporabiti wiki ali ločen dokumentacijski sistem, ki ga povezuje s samo datoteko README.
Kakšen je dejanski namen datoteke README?
Poleg teorije datoteka README v praksi deluje kot začetni vodnik in referenčna točkaNi namenjen nadomestitvi obsežne formalne dokumentacije, temveč ponuja urejeno in praktično razlago najpomembnejših vidikov projekta.
Med njegovimi najpogostejšimi načini uporabe so: pojasnite cilj projekta, opišite, katere podatke ali datoteke vključuje, navedite, kako ga začeti uporabljati, in določite ključne tehnične zahteve ter izognite se napakam, ki nastanejo zaradi nepravilne uporabeKo več uporabnikov dela na isti kodi ali podatkih, vam jasna datoteka README prihrani neskončna ponavljajoča se vprašanja.
V skupnih projektih, zlasti v velikih ekipah ali odprtokodnih skupnostih, je datoteka README skoraj komponenta komunikacijske infrastruktureSluži za uskladitev pričakovanj, označevanje stopnje zrelosti projekta, opredelitev prispevka in pojasnitev, kakšna podpora je ponujena (če sploh).
Tudi pri osebnih projektih, tudi če boste na njih delali samo vi, dobro napisana datoteka README deluje kot dolgoročni spominSčasoma zlahka pozabimo na odločitve, odvisnosti ali korake namestitve; če to dokumentiramo, se izognemo temu, da bi morali mesece kasneje "ponovno odkrivati" svoj projekt.
Zato datoteka README ni le formalnost: je praktično orodje, ki izboljšuje organizacija, komunikacija in vzdrževanje katere koli vrste digitalnega projekta.
Kdaj je primerno ustvariti datoteko README?
Kratek odgovor je, da je dobro ustvariti datoteko README. kadar koli gre za projekt, ki bo uporabljen, pregledan ali vzdrževan nekdo drug kot prvotni ustvarjalec ... in to vključuje tudi vašega bodočega jaza. Ni nujno, da gre za ogromno odprtokodno skladišče: le nekaj kompleksnosti mora biti ali pa mora vsebina vzbujati vprašanja.
Nekaj primerov, kjer je datoteka README še posebej uporabna, je spletni ali programski projektikjer je priporočljivo razložiti zahteve, razvojne procese, zagonske ukaze in izvajalno okolje. Zelo zanimivo je tudi v mape s pomembnimi podatkida se pojasni, kaj ti podatki predstavljajo, njihov izvor in morebitne omejitve.
Drugi tipični konteksti so spletne strani, gostovane na gostovanjuki pogosto vključujejo datoteko README z navodili za uvajanje ali akademska in tehnična dela, v katerem lahko datoteka README opiše skripte, poskuse, različice uporabljenih orodij ali kako reproducirati rezultate.
En skupni projektiNe glede na to, ali gre za interno ali javno datoteko README, je ta datoteka skoraj obvezna. Pomaga novim ljudem, da se lažje pridružijo projektu, in deluje kot skupna referenca za ohranjanje doslednih standardov uporabe in prispevkov med vsemi deležniki.
Katere informacije naj bi vseboval dober README?
Učinkovita datoteka README ni nujno dolga, mora pa biti dobro organizirano in zelo jasnoObstaja nekaj osnovnih informacij, ki bi jih skoraj vedno morali vključiti, in druga neobvezna vsebina, ki doda veliko vrednosti, odvisno od vrste projekta.
Večina dobro dokumentiranih repozitorijev in paketov vključuje vsaj ime projekta, En kratek opis ciljapovzetek vsebine repozitorija, Navodila za uporabo ali namestitev in bistvene zahteve (odvisnosti, minimalna jezikovna različica, operacijski sistem itd.).
Prav tako je zelo priporočljivo dodati nekaj način stika ali podporeTudi če gre le za e-pošto ali povezavo do razdelka »Težave« v repozitoriju, to vsakogar, ki naleti na težave, usmerja, kje in kako jih prijaviti, namesto da bi bil izgubljen in negotov, na koga se obrniti.
Poleg osnovnih informacij je pogosto koristno vključiti tudi informacije o datum nastanka ali različica trenutno, seznam avtorjev ali odgovornih oseb, dovoljenje za uporabo in vsa ustrezna obvestila o uporabi podatkov ali kode (na primer, če gre za poskusno različico ali ni primerna za produkcijo).
Vrstni red vpliva tudi na berljivost: najpomembnejše informacije (kaj je projekt, čemu je namenjen, kako se uporablja) bi se morale pojaviti prve. na začetku dokumentapri čemer sekundarne podrobnosti, razširjene odjavne točke ali zgodovinske opombe pustimo za pozneje. Na ta način si lahko nekdo, ki samo brska, že na hitro ustvari jasno predstavo.
Tipična vsebina datoteke README v programski opremi
V programskih projektih datoteke README pogosto gredo še korak dlje in vključujejo več dodatnih tematskih blokov. V mnogih primerih datoteka na kratko povzema navodila za namestitev, navodila za namestitev, osnovna navodila za uporabo, a manifest datoteke (pojasnite, čemu je namenjena vsaka pomembna mapa) in povzetek licence.
Prav tako je običajno vključiti razdelek z informacije o razvijalcu ali ekipi, možne načine za prispevanje k projektu, seznam znanih napak in kratek vodnik za odpravljanje pogostih težav. Vse to pomaga vsem, ki obiščejo repozitorij, da globalna in praktična vizija brez potrebe po iskanju drugje.
V nekaterih primerih lahko datoteka README vsebuje majhen Dnevnik sprememb ali pa kažejo na zunanjo datoteko CHANGELOG. Prav tako je precej pogosto vključiti razdelek »Novice« ali »Kaj je novega«, ki poudarja pomembne spremembe med različicami, zlasti kadar so ciljna publika končni uporabniki in ne razvijalci.
V kontekstu akademskih ali podatkovnih repozitorijev številne predloge poleg opisa vsebine priporočajo tudi opis metodologija za zbiranje ali ustvarjanje podatkov, vključene spremenljivke, časovni in geografski obseg informacij ter vse ustrezne omejitve uporabe ali razlage.
README kot komunikacijsko orodje na GitHubu
Ko naložite projekt na GitHub, datoteka README ne postane le dokumentacija, temveč tudi komunikacijski in predstavitveni elementPravzaprav platforma sama priporoča dodajanje datoteke README v katero koli javno skladišče, da bi obiskovalci hitro razumeli, za kaj gre v projektu.
Za razlago lahko uporabite datoteko README kaj projekt počneZakaj bi lahko bilo koristno, kako začeti (na primer z razdelkom »Uvod«), kje dobiti pomoč (težave, forumi, klepet itd.) in kdo aktivno vzdržuje kodo. Vse to vpliva na zaznano kakovost in zaupanje, ki ga ustvarja repozitorij.
V mnogih primerih razvijalci uporabljajo svoje repozitorije GitHub kot poklicni portfeljV tem kontekstu dobro izdelani README-ji naredijo veliko razliko: kadrovnikom ali drugim zainteresiranim stranem omogočajo, da na prvi pogled vidijo obseg projekta, uporabljene tehnologije in avtorjeve delovne metode.
Če vaš namen ni privabljanje prispevkov ali promocija repozitorija (na primer, če gre za zasebni ali zelo interni projekt), zelo podroben README ni obvezen. Kljub temu je običajno praktično vzdrževati vsaj enega. minimalna osnovna dokumentacija za osebno in ekipno uporabo.
GitHub ponuja tudi nekaj posebnih pripomočkov, povezanih z datoteko README: samodejno ustvari indeks, podpira značke in ikone ter omogoča vstavljanje slik, GIF-ov ali videoposnetkov za predstavitev projekta. Če se učinkovito uporabljajo, lahko vsi ti elementi naredijo datoteko README učinkovitejšo. privlačnejši in lažji za navigacijo.
Kako strukturirati in izboljšati datoteko README
Pri analizi priljubljenih repozitorijev (na primer projektov velikih tehnoloških organizacij ali vesoljskih agencij) je bilo ugotovljeno, da imajo njihove datoteke README običajno več skupnih pogosti vzorcičeprav vsak projekt ohranja svojo vizualno in vsebinsko identiteto.
Pogosto je najti jasen naslov in morebitna slika naslovnice (na primer logotip ali pasica za projekt), ki mu sledijo značke, ki povzemajo stanje projekta, licenco, trenutno različico ali stanje testiranja. Nato je običajno še opis projekta, razdelek o stanju (stabilno, v razvoju, eksperimentalno itd.) in razdelek z demonstracijami ali posnetki zaslona.
Prav tako je zelo pogosto najti blok z dostop do projekta (povezave do nameščene različice, dokumentacije in objavljenih paketov), seznam uporabljenih tehnologij, razdelke, namenjene sodelavcem, razvijalcem in seveda licencaZaradi teh elementov datoteka README deluje tako kot hiter vodnik za uporabnike kot tudi kot vizitka za potencialne sodelavce.
Kar zadeva oblikovanje, čeprav govorimo o besedilni datoteki, je veliko prostora za izboljšanje berljivosti: uporabite dobro strukturirane naslove, urejene in neurejene sezname, tabele, kjer je to primerno, in Krepko besedilo za poudarjanje ključnih idejV Markdownu lahko vstavite tudi slike, GIF-e in majhne okraske (kot so emoji), da bo bolj uporabniku prijazen, pri čemer vedno upoštevajte jasnost.
Malo omenjen trik je, da vedno pišete z mislijo na nekoga, ki O projektu ne ve absolutno nič.To pomeni izogibanje predpostavkam o predhodnem znanju, uporabo jasnega in neposrednega jezika ter pojasnitev tehničnih izrazov takoj, ko se pojavijo. In seveda posodabljanje datoteke README vsakič, ko se v projektu kaj pomembnega spremeni.
Licenca, prispevki in avtorstvo
V odprtokodnih projektih je še posebej pomemben del datoteke README tisti, ki je namenjen licencaObjava kode v javnem repozitoriju ne pomeni samodejno, da je programska oprema prosta; treba je izrecno navesti, pod katerimi pogoji se lahko šteje za prosto programsko opremo. za uporabo, spreminjanje in prerazporeditev.
Najpogostejša praksa je uporaba znanih licenc (MIT, Apache, GPL, Creative Commons za dokumentacijo itd.) in povezava iz datoteke README do datoteke LICENCE ali COPYING repozitorija. Na ta način vsakdo, ki ga to zanima, takoj ve, kaj lahko počne s kodo in kakšne so njegove obveznosti (na primer pripis avtorstva, deljenje pod enakimi pogoji, omejitve odgovornosti itd.).
Drug ključni blok v zreli datoteki README je vodnik za prispevkeV tem razdelku je pojasnjeno, kako lahko drugi prispevajo k projektu: slogovne smernice, postopek za oddajo zahtevkov za vlečenje, kako prijaviti napake, katere vrste prispevkov so sprejete in kje se delo usklajuje. Včasih so te informacije vsebovane v ločeni datoteki CONTRIBUTING.md, na katero je povezana datoteka README.
Dobra praksa je tudi, da se to naredi vidno sodelujoči posamezniki in razvijalciNekateri projekti vključujejo tabele z avatarji in imeni, povezanimi z njihovimi profili, drugi pa preprosto navajajo glavne uporabnike. Ta gesta ne le priznava delo, temveč tudi omogoča neposreden stik, če se mora nekdo pogovoriti z določenim članom ekipe.
Na koncu je vredno nameniti nekaj vrstic razlagi kako dobiti pomoč In kateri kanali obstajajo: težave GitHuba, forumi, poštni seznami, klepeti itd. Če projekt ne ponuja uradne podpore, je prav tako veljavno, da se to jasno navede, da se izognemo nesporazumom.
Z vsem zgoraj navedenim postane datoteka README osrednji del vsakega digitalnega projekta: Pojasnjuje, kaj je, kako deluje, kdo ga vzdržuje in pod kakšnimi pogoji se lahko uporablja.Skrb za vašo vsebino in njeno posodabljanje je majhna naložba, ki močno vpliva na to, kako drugi ljudje dojemajo in uporabljajo vaše delo.
Strasten pisec o svetu bajtov in tehnologije nasploh. Rad delim svoje znanje s pisanjem in to je tisto, kar bom počel v tem blogu, saj vam bom pokazal vse najbolj zanimive stvari o pripomočkih, programski opremi, strojni opremi, tehnoloških trendih in še več. Moj cilj je, da vam pomagam krmariti po digitalnem svetu na preprost in zabaven način.


