Aktiverade varje regel i Python‑lintern på felnivå och arbetade igenom 1 815 fynd ned till noll, där vart och ett av de få undantagen har ett skriftligt skäl och två av dem backas upp av en kontroll i stället för en kommentar.
Arbetet utfört: september 2026
1,815 fynd från lintern, åtgärdade tills noll återstod
Situation. De flesta projekt väljer en bekväm delmängd av sin linters regler, och delmängden väljs efter vilka regler som råkade vara tysta den dag konfigurationen gjordes. Det gör konfigurationen till en förteckning över kodens befintliga vanor snarare än en standard som koden hålls till, och varje regel som lämnas avstängd är en felklass som ingen någonsin kommer att få höra talas om.
Uppgift. Standardläget måste vändas — varje regel som verktyget implementerar aktiverad som fel — och den eftersläpning som blev följden måste arbetas ned till noll snarare än förhandlas ned genom att regler stängs av igen.
Handling. När hela regeluppsättningen valdes gav den 1 815 fynd vid första körningen. De arbetades igenom kategori för kategori snarare än fil för fil, eftersom kategorierna säger något: oanvända argument och skuggade inbyggda namn är brus, men säkerhetskategorin, kategorin för muterbara standardvärden och kategorin för undantagshantering pekade var och en på verkligt beteende. Verkliga inkompatibiliteter finns — en formaterare och en linter kan vara oense om samma rad, och några regler motsäger projektets egna avsiktliga val — och vart och ett av det fåtal undantag som finns har en skriftlig motivering på det ställe där undantaget görs, som säger vad regeln ville och varför den här koden gör på ett annat sätt. Två av dem går längre och backas upp av en kontroll snarare än en kommentar, så att undantaget inte i det tysta kan vidgas: regeln är avstängd, och ett test säkerställer just den egenskap som regeln skulle ha upprätthållit. Typkontroll körs i strikt läge vid sidan av, vilket är en separat och svårare standard, och det är den som fångade fel som lintern inte kunde se, eftersom de handlar om vad ett värde är snarare än om hur det är skrivet.
Resultat. Lintern körs med full styrka och noll fynd, och varje avvikelse är dokumenterad på den rad där den görs. Kostnaden är verklig och värd att nämna: den striktaste inställningen ger fynd som verkligen inte är värda att åtgärda, och någon måste göra den bedömningen 1 815 gånger i stället för en gång.
Se tillbaka på Krävde 981 testfall och minst 92 % grentäckning av generatorn, med varningar behandlade som fel, och säkerställde idempotens genom att köra hela byggpipelinen två gånger från en tom fil och kräva att den andra körningen inte ändrade något. Läs vidare: Repeterade CI‑hooken på forge‑sidan och hittade två fel som inte gick att se genom att läsa filen: en reservväg som lade ett argument som inte gick att lösa upp i hookens indata, och en miljövariabel från git själv som följde med grinden in i utcheckningen och gjorde 19 tester röda. Eller ta en titt på hela portföljen.
En del av en längre historik — och den finns i sin helhet här.
Varje post är skriven på samma sätt: situationen, uppgiften, vad vi gjorde och vad som förändrades.