Guida di un Data Scientist per migliorare la qualità del codice Python

Guida per migliorare la qualità del codice Python

Strumenti e pacchetti per scrivere codice Python pronto per la produzione

Foto di Christopher Gower su Unsplash

Background

Al giorno d’oggi, i Data Scientist sono sempre più coinvolti nella parte di produzione di un modello di machine learning. Ciò significa che dobbiamo essere in grado di scrivere codice Python di standard di produzione come i nostri colleghi ingegneri del software. In questo articolo, voglio illustrare alcuni degli strumenti e pacchetti chiave che possono aiutare nella creazione di codice pronto per la produzione per il tuo prossimo modello.

Linters

Panoramica

Linters sono strumenti che individuano piccoli bug, errori di formattazione e strani pattern di design che possono causare problemi durante l’esecuzione e output inaspettati.

In Python, abbiamo PEP8 che fortunatamente ci fornisce una guida di stile globale su come dovrebbe apparire il nostro codice. Esistono numerosi linters in Python che rispettano PEP8, tuttavia la mia preferenza va a flake8.

Flake8

Flake8 è in realtà una combinazione dei pacchetti di linting Pyflakes, pycodestyle e McCabe. Controlla errori, code smells e applica gli standard PEP8.

Per installare flake8 pip install flake8 e puoi usarlo con flake8 <nome_file.py>. È davvero così semplice!

Ad esempio, supponiamo di avere la funzione add_numbers in un file flake8_example.py:

def add_numbers(a,b):    result = a+  b    return resultprint(add_numbers(5, 10))

Per chiamare flake8 su questo file, eseguiamo flake8 flake8_example.py e l’output sarà così:

Flake8 ha individuato diversi errori di stile che dovremmo correggere per essere in linea con PEP8.

Vedi qui per ulteriori informazioni su flake8 e su come personalizzarlo secondo le tue esigenze.

Formattatori di codice

Panoramica

Spesso, i linters ti dicono solo cosa non va nel tuo codice ma non lo correggono attivamente per te. I formattatori invece correggono il tuo codice e aiutano ad accelerare il tuo flusso di lavoro, assicurano che il tuo codice rispetti le linee guida di stile e lo rendono più leggibile per altre persone.

isort