Quy ước và PEP 8

Nguyên tắc Kỹ thuật Phần mềm với Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Quy ước là gì?

Cụng tay

Cúi chào

Bắt tay

Logo Python

Nguyên tắc Kỹ thuật Phần mềm với Python

Giới thiệu PEP 8

PEP 8

"Code được đọc thường xuyên hơn là được viết"

Nguyên tắc Kỹ thuật Phần mềm với Python

Vi phạm 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])
Nguyên tắc Kỹ thuật Phần mềm với Python

Tuân thủ 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])
Nguyên tắc Kỹ thuật Phần mềm với Python

Công cụ PEP 8

PEP 8 với PyCharm

gói pycodestyle

Nguyên tắc Kỹ thuật Phần mềm với Python

Dùng 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
Nguyên tắc Kỹ thuật Phần mềm với Python

Đầu ra của pycodestyle

kết quả lỗi từ pycodestyle

Nguyên tắc Kỹ thuật Phần mềm với Python

Ayo berlatih!

Nguyên tắc Kỹ thuật Phần mềm với Python

Preparing Video For Download...