Håller helt med, och jag tror att LLM-verktyg kan vara en tvingande funktion för att anta några av metoderna för de bästa lagen / organisationerna i mindre lag som kanske inte har kunnat motivera dem tidigare.
Simon Willison
Simon Willison1 okt. 06:01
Det är inte bara enhetstester - det finns så många andra metoder för programvaruutveckling på toppnivå som påskyndar produktiviteten med kodningsagenter Automatiserade tester, omfattande dokumentation, goda vanor för versionskontroll, en kultur av kodgranskning, snabb distribution till iscensättningsmiljöer...
Jag tror att du skulle vara galen om du hade flera hundra ingenjörer utan en linter. Om du bara har två eller fyra, kanske du aldrig uppnår aktiveringsenergi för det, och har mestadels improduktiva bråk om kodningsstil. Men lägg till Claude Code och a) du vill ha den där lintern
b) att ställa in den lintern är nu fem minuters marginellt lyft jämfört med "En person går ner i en klassisk tarpituppgift att få den integrerad med alla IDE:er/etc."
För den del av min publik som inte vet: en linter är ett automatiserat verktyg som kan genomdriva kodningskonventionstandarder som är strängare än de som ett språk kan tillåta. Du kan till exempel anta en husregel om att vissa juridiska konstruktioner inte är tillåtna
Som ett exempel finns det ett mycket kortfattat juridiskt uttryck på många språk som kallas en ternär operator. Ternära operatorer är notoriskt benägna att orsaka buggar, och ett ingenjörsteam kan besluta att de, även om de är kortfattade, på riskjusterad basis inte är en acceptabel funktion att använda.
Som ett exempel på en sak som du kan reglera på ett förnuftigt sätt via linter som du inte vill behöva ha upprepade diskussioner med Claude Code om: i Rails betyder something_id en sekundärnyckel för något-tabellen. Claude glömmer detta ibland och kallar många andra saker för id.
Du kan, om du vill, skriva en linterregel som körs varje gång koden ändras och flaggar för Claude och resten av världen: "Du har namngett en variabel box_id, men _ids ska bara användas för att referera till databasnycklar. Tänk på box_code eller något annat namn."
En trevlig sak med linterregler är att de kan ha godtycklig projektspecifik kunskap inbyggd i sig. Ett upprepat argument som en japansk löntagare tvingades ha för länge sedan, med (med) icke-modersmålstalare som gjorde en webbapplikation på universitetet: du FÅR INTE använda "ämne".
Varför inte? Eftersom japanska universitet delar in akademiska ämnen i ämnen (kyouka; ett ämne som "matematik") och ämne (Kamoku; ett ämne som "linjär algebra"), och eftersom subjekt är skrämmande att läsa i kod, hänvisades dessa av romaniserade japaner till att alltid vara entydiga.
32,91K