Convenzioni e PEP 8

Principi di Ingegneria del Software in Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Cosa sono le convenzioni?

Tocco di pugno

Persona che si inchina

Stretta di mano

Logo Python

Principi di Ingegneria del Software in Python

Introduzione al PEP 8

PEP 8

"Il codice viene letto molto più spesso di quanto venga scritto"

Principi di Ingegneria del Software in Python

Violazione del PEP 8

#define i nostri dati
my_dict ={
    'a'  : 10,
'b': 3,
    'c'  :   4,
             'd': 7}
#importa il pacchetto necessario
import numpy as np
#funzione di supporto
def DictToArray(d):
    """Converti i valori del dizionario in un array numpy"""
    #estrai i valori e converti
              x=np.array(d.values())
              return x
print(DictToArray(my_dict))
array([10,  4,  3,  7])
Principi di Ingegneria del Software in Python

Seguire il PEP 8

# Importa il pacchetto necessario
import numpy as np

# Definisci i dati
my_dict = {'a': 10, 'b': 3, 'c': 4, 'd': 7}


# Funzione di supporto
def dict_to_array(d):
    """Converti i valori del dizionario in un array numpy"""
    # Estrai i valori e converti
    x = np.array(d.values())
    return x


print(dict_to_array(my_dict))
array([10,  4,  3,  7])
Principi di Ingegneria del Software in Python

Strumenti PEP 8

PEP 8 con PyCharm

pacchetto pycodestyle

Principi di Ingegneria del Software in Python

Usare pycodestyle

datacamp@server:~$ pip install pycodestyle
datacamp@server:~$ pycodestyle dict_to_array.py
dict_to_array.py:5:9: E203 spazio bianco prima di ':'
dict_to_array.py:6:14: E131 linea di continuazione non allineata per indentazione sospesa
dict_to_array.py:8:1: E265 il commento di blocco dovrebbe iniziare con '# '
dict_to_array.py:9:1: E402 importazione a livello di modulo non in cima al file
dict_to_array.py:11:1: E302 attese 2 righe vuote, trovate 0
dict_to_array.py:13:15: E111 l'indentazione non è un multiplo di quattro
Principi di Ingegneria del Software in Python

Output di pycodestyle

output errori pycodestyle

Principi di Ingegneria del Software in Python

Ayo berlatih!

Principi di Ingegneria del Software in Python

Preparing Video For Download...