🍆 모든 변수와 함수 이름은 소문자, 여러 단어일 경우 _로 나눠주기
# 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!")
🍆 함수 정의 위아래로 빈 줄 두개씩. but 파일의 첫 줄이 함수 정의인 경우 해당 함수 위에는 빈 줄 없어도 됨.
# 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
x=1
x = 1
# good
x = 1
🍆 기본적으로 연산자 앞뒤로 띄어쓰기 하나만!
# bad
i=i+1
submitted +=1
# good
i = i + 1
submitted += 1
but, "우선 순위"를 강조하기 위해서는 연산자 앞뒤로 띄어쓰기를 붙이는 것을 권장!
# 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 # 코멘트
✍️ 내 코드를 보더니 해쉬가 면접 때부터 궁금했다며 내 컨벤션에 질문을 했다. 모든 코드에 컨벤션 스타일에 대해서 🤔 위코드의 코드 컨벤션을 언급했는데 이것 저것 듣더니 PEP Guidelines를 참고해보라고 추천해주었다. 뭔가 좀 더 normal하고 general한 것 같아서 꼼꼼하게 읽어보고 지금 당장 필요한 것만 적어보았는데 꽤 되는 것 같다! Pylint도 추천해주는 해쉬...고맙씁니당 🥲