기록장

스타일(PEP 8 스타일 가이드) 본문

개발/Python

스타일(PEP 8 스타일 가이드)

HJJJJJ 2022. 12. 12. 15:04
728x90

이해하기 쉬운 코드 = 좋은 스타일을 가진 코드 

 

 

안 좋은 스타일의 코드

print(6.28*4)
print(3.14*4*4)
print(6.28*8)
print(3.14*8*8)

->프로그램의 목적 / 숫자의 이미 알 수 없음 

 


개선1



a=3.14

b=4

print(2*a*b)

print(a*b*b)

b=8

pritn(2*a*b)

print(a*b*b)

숫자들이 뭘 의미하는지 알 수 없음

 


개선2

개선2



a=3.14#원주율(파이)

b=4#반지름

print(2*a*b)

print(a*b*b)

b=8#반지름

pritn(2*a*b)

print(a*b*b)

마지막 줄을 보면 a랑b가 뭘 나타내는지 알 수 없음

 


개선3

 

PI=3.14#원주율

radius=4#반지름
print(2 * PI *radius)
print(pi * radius * radius)


radius=8#반지름
print(2 * pi * radius)
print(pi * radius* radius)

 


개선4

PI=3.14#원주율(파이)

#반지름이 r인 원의 둘레 계산
def calculate_circumference(r):
    return 2 * PI * r
    
#반지름이 r인 원의 넓이 계산
def calculate_area(r):
	return PI * r * r

 radius=4#반지름
 print(2 * PI *radius)
 print(pi * radius * radius)


 radius=8#반지름
 print(2 * pi * radius)
 print(pi * radius* radius)

 

코드 스타일의 중요성을 알아봤음

 

코드 스타일은 함께 작업하는 사람들과 맞춰가야하는 부분

회사에서 개발자로 일하면 

회사 안에서 스타일 가이드 코드가 있을거임

 

그 스타일 가이드에 맞게 코드를 작성하면 된다 

 

파이썬은

PEP8 스타일일 많이 따라간다 


이름

 

이름 규칙 

모든 변수와 함수 이름은 소문자로 써 주고, 여러 단어일 경우 _로 나눠 주기

# bad
someVariableName = 1
SomeVariableName = 1

def someFunctionName():
    print("Hello")


# good
some_variable_name = 1

def some_function_name():
    print("Hello")

모든 상수 이름은 대문자로 써주고, 여러 단어일 경우 _로 나눠주기

# bad
someConstant = 3.14
SomeConstant = 3.14
some_constant = 3.14


# good
SOME_CONSTANT = 3.14

의미 있는 이름 

# bad (의미 없는 이름)
a = 2
b = 3.14
print(b * a * a)


# good (의미 있는 이름)
radius = 2
pi = 3.14
print(pi * radius * radius)

 

 

# bad (의미 없는 이름)
def do_something():
    print("Hello, world!")


# good (의미 있는 이름)
def say_hello():
    print("Hello, world!")

이름

 

화이트 스페이스

들여쓰기는 무조건 스페이스 4개를 사용하기

# bad (스페이스 2개)
def do_something():
  print("Hello, world!")


# bad (스페이스 8개)
i = 0
while i < 10:
        print(i)


# good (스페이스 4개)
def say_hello():
    print("Hello, world!")

 

함수정의

함수 정의 위아래로 빈 줄이 두 개씩 있어야 한다

.하지만 파일의 첫 줄이 함수 정의인 경우 해당 함수 위에는 빈 줄이 없어도 된다

# bad
def a():
    print('a')
def b():
    print('b')

def c():
    print('c')



# good
def a():
    print('a')


def b():
    print('b')


def c():
    print('c')

 

괄호 안

괄호 바로 안에는 띄어쓰기 하지 말기

# bad
spam( ham[ 1 ], { eggs: 2 } )


# good
spam(ham[1], {eggs: 2})

 

함수 괄호

함수를 정의하거나 호출할 때, 함수 이름과 괄호 사이에 띄어쓰기를 하지 말기

# bad
def spam (x):
    print (x + 2)


spam (1)


# good
def spam(x):
    print(x + 2)


spam(1)

쉼표

쉼표 앞에는 띄어쓰기를 하지 마

# bad
print(x , y)


# good
print(x, y)

 

 

지정 연산자

지정 연산자 앞뒤로 띄어쓰기를 하나씩만 해 

# bad
x=1
x    = 1


# good
x = 1

 

 

연산자

기본적으로는 연산자 앞뒤로 띄어쓰기를 하나씩 만

 

# bad
i=i+1
submitted +=1


# good
i = i + 1
submitted += 1

. 하지만 연산의 "우선 순위"를 강조하기 위해서는, 연산자 앞뒤로 띄어쓰기를 붙이는 것을 권장함

# bad
x = x * 2 - 1
hypot2 = x * x + y * y
c = (a + b) * (a - b)


# good
x = x*2 - 1
hypot2 = x*x + y*y
c = (a+b) * (a-b)

 

 

코멘트

일반 코드와 같은 줄에 코멘트를 쓸 경우, 코멘트 앞에 띄어쓰기 최소 두 개를 해

# bad
x = x + 1# 코멘트


# good
x = x + 1  # 코멘트
728x90

'개발 > Python' 카테고리의 다른 글

if문 개념  (0) 2023.01.01
while문  (0) 2023.01.01
상수  (0) 2022.12.12
scope  (0) 2022.12.12
Syntactic Sugar  (0) 2022.12.09
Comments