Skip to Content
Strumenti Python ipermoderni
book

Strumenti Python ipermoderni

by Claudio Jolowicz
March 2025
Intermediate to advanced
270 pages
7h 17m
Italian
O'Reilly Media, Inc.
Content preview from Strumenti Python ipermoderni

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Potente Python

Potente Python

Aaron Maxwell
Python Polars: la guida definitiva

Python Polars: la guida definitiva

Jeroen Janssens, Thijs Nieuwdorp
Python robusto

Python robusto

Patrick Viafore
Scaling Python with Dask

Scaling Python with Dask

Holden Karau, Mika Kimmins

Publisher Resources

ISBN: 9798341638846