Jednotka 9 / 12

Dokumentace, README a komentáře ke kódu

zisky:

  • Schopnost produkovat README, docstring a changelog koncepty na základě cílového publika a zdroje s AI
  • Schopnost oddělit v dokumentaci vrstvy „co/jak“ a „proč“ a přidat „proč“ jako člověk
  • Ověření instalačních kroků osobním spuštěním a vytvořením dokumentu součástí změny kódu

Nejčastěji opomíjenou, ale nejdéle trvající částí softwaru je dokumentace. Kód je čitelný i po měsících; Ten, kdo to napsal, je pryč, kontext je zapomenut a zůstává jen to, co bylo napsáno. Dobrý README (úvodní dokument, který vysvětluje, co je projekt a jak jej nainstalovat a spustit), vysvětlující komentáře ke kódu a aktuální dokumentace API (odkaz, který vysvětluje, jak používat rozhraní) přímo určuje rychlost týmu. Umělá inteligence odstraňuje spoustu „únavy při psaní“ z dokumentace – ale přichází s pastí: AI dokáže z kódu odvodit, co dělá, ale často nemůže vědět, proč se to tak dělá.

V této jednotce se naučíte, jak vytvářet README, komentář ke kódu, docstring (blok komentářů napsaný pro funkci/třídu), dokument API a changelog pomocí AI; a jak lidsky zachovat nejcennější část dokumentace: „proč“.

Rozdíl mezi „co“ a „proč“

Existují dvě vrstvy dokumentace. První je co/jak: "tato funkce seřadí seznam", "spusťte tento příkaz k instalaci". Ty lze extrahovat z kódu a struktury; AI zde exceluje. Za druhé, proč: "proč jsme udělali tuto službu asynchronní spíše než synchronní", "proč je tato limitní hodnota 30 sekund", "proč jsme zvolili tuto knihovnu před jinou". Ty nejsou zapsány v kódu; Je to produkt rozhodnutí o designu, omezení a minulé bolesti.

AI neví „proč“; V nejlepším případě se jedná o rozumný odhad – což je nebezpečné, protože špatný důvod je horší než žádný důvod. Dělba práce je tedy jasná: AI navrhuje „co/jak“, vy přidáte „proč“. Nejcennější komentář je ten, který říká, co kód říct nemůže.

Tip: Neopakujte s komentářem to, co jasně říká samotný kód (jako i = i + 1 // zvýšení i o jednu). AI někdy produkuje takové nadbytečné komentáře; Odstraňte je a věnujte svou energii komentářům „proč“.

Krok za krokem: Generování dokumentace pomocí AI

  1. Určete cílové publikum. „Vývojář, který právě začíná“, „externí tým, který bude používat toto API“, „já budoucnosti“ – publikum udává tón pro jazyk a hloubku.
  2. Uveďte zdroj. Do výzvy přidejte příslušný kód, existující soubor README, příklad použití. Dokument bez zdroje je pozvánkou k výrobě.
  3. Struktura uložení. Standardní sekce pro README (účel, instalace, použití, konfigurace, příspěvek), formát projektu pro docstring.
  4. Označte mezery „proč“. Požádejte AI, aby označila rozhodnutí, pro která nezná zdůvodnění, jako „zde je vyžadována poznámka „proč“; Pak vyplňte tato prázdná místa.
  5. Ověřte. Ve skutečnosti spusťte instalační kroky; zkuste ukázkový kód. README, které nefunguje, je horší než žádné README.

Tři mini pouzdra

Případ 1 — Zrychlené začlenění do souboru README. Chybělo README nástroje s otevřeným zdrojovým kódem; Noví přispěvatelé se s instalací potýkali v průměru 2 hodiny. Tým předal instalační skripty a soubor package.json AI a navrhl strukturovaný soubor README, poté provedl samotné kroky na čistém počítači a přidal dvě chybějící závislosti. Doba instalace pro další přispěvatele se snížila na průměrně 25 minut.

Případ 2 – Vymyšlená past „proč“. Vývojář požádal AI o komentář vedle hodnoty časového limitu (timeout=30). AI ​​napsala rozumné, ale nesprávné odůvodnění „tolerovat vysokou latenci sítě“; skutečným důvodem byl smluvní limit 30 sekund navazující služby. Nesprávná interpretace vedla následného vývojáře ke zbytečnému zvýšení hodnoty, což vedlo k incidentu. Poučení: vlastník kódu musí ověřit zdůvodnění.

Případ 3 — Standard Docstring se zautomatizoval. Pomocný modul se 40 funkcemi neměl žádné dokumentační řetězce. Umělá inteligence dostala formát projektu (styl Google) a vytvořila popis parametrů, návratnosti a výjimek pro každou funkci; Vývojář je zkontroloval a opravil několik nesprávných deklarací typu. Dokumentace 40 funkcí se zkrátila z půl dne na hodinu.

Čtyři kopírovatelné šablony

Strukturovaný koncept README:

Cílové publikum: {{např. nový přispěvatel}}. Napište koncept README na základě souborů níže. Sekce: Účel, Funkce, Požadavky, Instalace, Provoz, Konfigurace, Testování, Příspěvek. Extrahujte instalační/spouštěcí příkazy ze skutečných souborů; VYBAVENÍ. Označte místa, kde si nejste jisti, pomocí „[VERIFY]“. Zdroj: {{package.json / scripts / sample code}}

Referenční řetězec dokumentu/API:

Napište docstring k těmto funkcím ve formátu {{project style: Google/NumPy/JSDoc}}: krátké shrnutí, parametry (typ + význam), návrat, vyvolané výjimky, 1 krátký příklad. Neopakujte, co kód JASNĚ říká. Označte rozhodnutí o designu, která vyžadují „proč“ jako „[PROČ NEZBYTNÉ]“, nepište smyšlené odůvodnění.{{code}}

Odebrat mezery u komentáře „proč“:

V tomto kódu by se další vývojář mohl zeptat "proč je to tak?" (magická čísla, neobvyklá rozhodnutí, náhradní řešení). U každého uveďte komentář KOSTRA, ale zdůvodnění ponechte PRÁZDNÉ; Vyplním odůvodnění.{{code}}

Changelog/PR prohlášení:

Napište {{changelog entry / PR description}} z níže uvedeného rozdílu. Formát: Co se změnilo (v uživatelském jazyce), Proč (vydání: {{...}}), Překonaná změna (pokud existuje), Bylo to testováno. Přizpůsobte technický žargon cílovému publiku.{{diff}}

Slabá výzva / Silná výzva

Slabý: "Napište README pro tento projekt."
Strong: "Cílové publikum: vývojář klonující toto repo poprvé. Na základě přiloženého package.json, docker-compose.yml a složky scripts/ napište koncept README s sekcemi Účel, Požadavky, Instalace, Provoz, Testování, Příspěvek. Extrahujte příkazy z těchto souborů, nevytvářejte je; označte kdekoli, kde si nejste jisti, pomocí [OVĚŘIT]."

Silná verze dává publiku, zdroj, strukturu a pravidlo „vyrob to, označ to“; tak, aby dokument vycházel ze skutečných souborů a místa k ověření byla jasně viditelná.

Typ dokumentu

AI dělá dobře

Člověk přidává/ověřuje

Instalace README

obrys kroku

Spusťte kroky a potvrďte

Docstring/API

Struktura, parametr, typ

Správný typ a „proč“

Komentář ke kódu

"Co dělá" shrnutí

"Proč je to" odůvodnění

Changelog/PR

první návrh

Dopad a přesnost

Architektonické rozhodnutí (ADR)

kostra

Skutečná rozhodnutí a kompromisy

Dokumentace vyžaduje údržbu

Nejnebezpečnějším aspektem dokumentu je, když se jeví jako pravdivý, i když je nepravdivý. Když se kód změní a dokument není aktualizován, aktivně to klame čtenáře. Umělá inteligence usnadňuje aktualizaci: zadejte rozdíl a zeptejte se „které části dokumentu se tato změna týká?“ můžete se zeptat. Ale je to proces, který zajišťuje aktuálnost – udělejte aktualizaci dokumentace součástí změny kódu (akceptační kritérium PR). AI zrychluje; Tým buduje disciplínu.

Upozornění: Nepublikujte bez ověření instalačních kroků v souboru README. Dokument „pravděpodobně pracovní“ může zkazit první den nového vývojáře a narušit důvěru. Proveďte kroky sami v čistém prostředí.

Časté chyby

  • Získání „proč“ pro přizpůsobení AI. Falešné ospravedlnění je horší než žádné ospravedlnění; Vlastník kódu by měl napsat důvod návrhu.
  • Bez ověření instalačních kroků. README, které nefunguje, ničí důvěru.
  • Zbytečný komentář opakující kód. Produkuje hluk, který zakrývá skutečné interpretace „proč“.
  • Bez určení cílového publika. Dokument, kterému není jasné, komu je napsán, není pro začátečníka ani pro odborníka k ničemu.
  • Oddělení aktualizace od procesu. Pokud dokument není aktualizován kódem, rychle se stává zavádějícím.

V souhrnu

Umělá inteligence odstraňuje velkou část mechanické zátěže z dokumentace: rychlé návrhy README, docstring, reference API, changelog a PR popisy. Nemůže ale vědět „proč“, což je nejcennější vrstva, a je nebezpečné si ji vymýšlet. Dělba práce je jasná: AI produkuje „co/jak“, přidáte „proč“. Určete publikum, poskytněte zdroje, zaveďte strukturu, označte místa, která se hodí, a ověřte každý krok instalace tím, že jej spustíte sami. Udělejte z dokumentace nedílnou součást změny kódu.

Aplikační úkol

Vyberte modul nebo malý projekt, jehož dokumentace chybí nebo je zastaralá. Nejprve vygenerujte osnovu z AI pomocí šablony „strukturovaný návrh README“ (nebo docstring); Nezapomeňte uvést zdroj a cílové publikum. Poté projděte každý bod, kde AI ​​označila [VERIFY] nebo [WHY NEEDED]: ve skutečnosti spusťte kroky nastavení a vyplňte „proč“ návrhu podle svých vlastních znalostí. Všimněte si, kolik kroků je třeba opravit a kolik „proč“ jste přidali.

kontrolní seznam

  • [ ] V dokumentaci rozlišuji vrstvy „co/jak“ a „proč“.
  • [ ] Nedělám, že AI tvoří „proč“, přidávám to sám.
  • [ ] Dávám výzvě cílové publikum a skutečné zdrojové soubory.
  • [ ] Body [VERIFY] označené AI ověřuji osobním provedením.
  • [ ] Odstraňuji zbytečné komentáře, které opakují kód.
  • [ ] Udělám aktualizaci dokumentace součástí změny kódu.