Naprosto souhlasím a myslím si, že nástroje LLM by mohly být vynucenou funkcí pro přijetí některých postupů nejlepších týmů/organizací v menších týmech, které by je dříve nemusely být schopny ospravedlnit.
Simon Willison
Simon Willison1. 10. 06:01
Nejde jen o jednotkové testy – existuje mnoho dalších špičkových postupů softwarového inženýrství, které zvyšují produktivitu pomocí kódovacích agentů Automatizované testy, komplexní dokumentace, dobré návyky při správě verzí, kultura kontroly kódu, rychlé nasazení do přípravných prostředí...
Myslím, že byste byli blázni, kdybyste měli několik stovek inženýrů bez linteru. Pokud však máte jen dva nebo čtyři, možná k tomu nikdy nedosáhnete aktivační energie a většinou budete mít neproduktivní boje o styl kódování. Ale přidejte Claude Code a a) chcete ten linter
b) nastavení tohoto linteru je nyní pět minut marginálního zdvihu oproti "Jedna osoba sestoupí do klasické tarpitové úlohy, aby ji integrovala se všemi IDE/atd."
Pro tu část mého publika, která neví: linter je automatizovaný nástroj, který může vynucovat standardy kódovacích konvencí, které jsou přísnější než ty, které by mohl povolovat jazyk. Můžete například přijmout domácí pravidlo, že konkrétní právní výklady nejsou povoleny
Jako příklad lze uvést velmi stručný právní výraz v mnoha jazycích, který se nazývá ternární operátor. Ternární operátory jsou notoricky známé tím, že způsobují chyby, a tým inženýrů se může rozhodnout, že i když jsou stručné, na základě upraveného rizika nejsou přijatelnou funkcí k použití.
Jako příklad věci, kterou můžete rozumně regulovat pomocí lintru, o kterém nechcete mít opakované spory s Claude Code: v Rails something_id znamená cizí klíč pro tabulku něco. Claude na to občas zapomíná a nazývá mnoho jiných věcí id.
Pokud chcete, můžete, napsat linter pravidlo, které se spustí pokaždé, když je kód upraven a označí Claude a zbytek světa: "Pojmenovali jste proměnnou box_id, ale _ids mají být použity pouze k odkazování na databázové klíče. Zvažte box_code nebo nějaké jiné jméno."
Pěkná věc na linter pravidlech je, že v nich mohou být zabudovány libovolně specifické znalosti specifické pro projekt. Jeden opakovaný argument, který byl japonský zaměstnanec nucen používat už dávno, když (kolegové) nerodilí mluvčí vytvořili univerzitní webovou aplikaci: NESMÍTE používat slovo "předmět".
Proč ne? Protože japonské univerzity rozdělují akademické předměty na předměty (kyouka; předmět jako "matematika") a předmět (kamoku; předmět jako "lineární algebra"), a protože podpředmět je děsivý na čtení v kódu, romanizovaná japonština je označovala jako vždy jednoznačné.
25,29K