Convenții și PEP 8

Principii de inginerie software în Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Ce sunt convențiile?

Pumn de salut

Persoană care salută

Strângere de mână

Logo Python

Principii de inginerie software în Python

Introducere în PEP 8

PEP 8

„Codul este citit mult mai des decât este scris"

Principii de inginerie software în Python

Încălcarea PEP 8

#define our data
my_dict ={
    'a'  : 10,
'b': 3,
    'c'  :   4,
             'd': 7}
#import needed package
import numpy as np
#helper function
def DictToArray(d):
    """Convert dictionary values to numpy array"""
    #extract values and convert
              x=np.array(d.values())
              return x
print(DictToArray(my_dict))
array([10,  4,  3,  7])
Principii de inginerie software în Python

Respectarea PEP 8

# Import needed package
import numpy as np

# Define our data
my_dict = {'a': 10, 'b': 3, 'c': 4, 'd': 7}


# Helper function
def dict_to_array(d):
    """Convert dictionary values to numpy array"""
    # Extract values and convert
    x = np.array(d.values())
    return x


print(dict_to_array(my_dict))
array([10,  4,  3,  7])
Principii de inginerie software în Python

Instrumente PEP 8

PEP 8 cu PyCharm

Pachetul pycodestyle

Principii de inginerie software în Python

Utilizarea pycodestyle

datacamp@server:~$ pip install pycodestyle
datacamp@server:~$ pycodestyle dict_to_array.py
dict_to_array.py:5:9: E203 whitespace before ':'
dict_to_array.py:6:14: E131 continuation line unaligned for hanging indent
dict_to_array.py:8:1: E265 block comment should start with '# '
dict_to_array.py:9:1: E402 module level import not at top of file
dict_to_array.py:11:1: E302 expected 2 blank lines, found 0
dict_to_array.py:13:15: E111 indentation is not a multiple of four
Principii de inginerie software în Python

Rezultatul pycodestyle

Rezultatul de eroare pycodestyle

Principii de inginerie software în Python

Să exersăm!

Principii de inginerie software în Python

Preparing Video For Download...