Capitolo 9. Linting con Ruffe pre-commit
Questo lavoro è stato tradotto utilizzando l'AI. Siamo lieti di ricevere il tuo feedback e i tuoi commenti: translation-feedback@oreilly.com
Nel 1978, Stephen C. Johnson, un ricercatore dei Bell Labs, scrisse un programma in grado di rilevare una serie di bug e di oscurità nel codice C. Il programma prese il nome dalla lanugine che si trova sul tuo pullover quando lo tiri fuori dalla lavatrice: Lint. Questo programma sarebbe diventato il primo di una lunga serie di linters, programmi che analizzano il codice sorgente e segnalano i costrutti problematici.
I liner non eseguono un programma per scoprire i problemi di , ma leggono e analizzano il suo codice sorgente. Questo processo è noto come analisi statica, in contrapposizione all'analisiruntime (o dinamica). Questo rende i linters veloci e sicuri: non devi preoccuparti degli effetti collaterali, come le richieste ai sistemi di produzione. I controlli statici possono essere intelligenti e anche abbastanza completi: non è necessario trovare la giusta combinazione di casi limite per scovare un bug latente.
Nota
L'analisi statica è potente, ma devi comunque scrivere dei test per i tuoi programmi. Mentre i controlli statici utilizzano la deduzione, i test utilizzano l'osservazione. I liner verificano un insieme limitato di proprietà generiche del codice, mentre i test possono convalidare che un programma soddisfi i suoi requisiti.
I linter sono anche ottimi per imporre uno stile leggibile e ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access