본 포스트에서는 파이썬을 실제 업무에 사용할 때, 일반적으로 지키는 암묵적인 코딩 룰에 대해 이야기해보려 합니다.
이러한 룰을 스타일 가이드라고 말하는데요, 크게 5가지를 들 수 있겠습니다.
- 변수명은 무엇을 위한 변수인지 직관적인 이름을 가져야 함
- 공백(spaces) 4칸을 사용하여 코드 블록을 들여쓰기
- 한 줄의 길이는 79자로 제한하며, 길어질 경우 줄 바꿈을 사용
- 문자와 밑줄(_)을 사용하여 함수, 변수, 속성의 이름을 작성
- 함수 정의나 클래스 정의 등의 블록 사이에는 빈 줄을 추가
변수명은 무엇을 위한 변수인지 직관적인 이름을 가져야 함
a = 3000
어떤 사람의 코드를 읽었는데, 저런 변수가 있다고 해봅시다.
a가 어떤 역할을 하는 변수인지 유추할 수 있을까요? 아마 코드를 다 읽지 않으면 알 수 없을 것입니다.
이런 문제를 사전에 방지하기 위해 변수명은 직관적으로 설정해야 합니다.
apple_price = 3000
위와 같이 설정하면 코드를 전부 읽어 보지 않아도 해당 변수가 사과의 가격임을 확실히 알 수 있게 됩니다.
그러면 추후 코드를 읽을 때도 이해하기 더 쉽겠죠?
공백(spaces) 4칸을 사용하여 코드 블록을 들여쓰기
for i in range(10):
print('|', end='')
for j in range(10):
print('*', end='')
if j == 9:
print('|')
위 코드를 봅시다. 어떤가요?
코드를 이해하기 위해서는 들여쓰기를 잘 봐야하는데, 들여쓰기가 2칸밖에 되지 않아 가독성이 떨어집니다.
하지만 공백을 4칸으로 하면 어떨까요?
for i in range(10):
print('|', end='')
for j in range(10):
print('*', end='')
if j == 9:
print('|')
훨씬 더 들여쓰기가 잘 보입니다. 코드 가독성이 훨씬 좋아진 것을 확인할 수 있습니다.
한 줄의 길이는 79자로 제한하며, 길어질 경우 줄 바꿈을 사용
long_string = "This is a very long sting that exceeds the 79 character limit. To make it more readable, it is split into multiple lines."
위 코드는 79자가 넘는 긴 길이의 코드입니다.
너무 길다보니, 확인하고 싶을 때마다 스크롤을 옆으로 이동시켜야 하는 불편함이 생깁니다.
이를 방지하기 위해 아래와 같은 방식을 사용할 수 있습니다.
long_string = "This is a very long sting that exceeds the 79 character limit. " \
"To make it more readable, it is split into multiple lines."
백슬래쉬(\)를 이용하면 한 변수에 문자열을 줄 바꿈으로 이어서 넣을 수 있습니다.
이렇게 하면 스크롤을 움직이지 않고도 전체 내용을 확인할 수 있습니다.
문자와 밑줄(_)을 사용하여 함수, 변수, 속성의 이름을 작성
# 스네이크 표기법 (snake_case)
# 밑줄 (_)로 단어를 구분한다.
this_is_var = 'Hello, World!'
# 카멜 표기법 (camelCase)
# 첫 단어는 소문자로, 뒤 단어는 대문자로 구분한다.
thisIsVar = 'Hello, World!'
# 파스칼 표기법 (PascalCase)
# 카멜 표기법을 따르되, 첫 단어도 대문자로 사용한다.
ThisIsVar = 'Hello, World!'
일반적으로 사용되는 표기법은 위 3가지가 있습니다.
3가지 방법 모두 사용해도 무방하지만, 파이썬에서는 스네이크 표기법을 사용하는 것이 더 일반적이라고 합니다.
'_'를 사용하면 더 눈에 잘 보이고, 타이핑하기도 쉽기 때문인 것 같습니다.
함수 정의나 클래스 정의 등의 블록 사이에는 빈 줄을 추가
def add(a, b):
result = a + b
return result
def multiply(a, b):
result = a * b
return result
위 코드처럼 두 함수를 붙여서 정의하면 가독성이 떨어집니다.
두 함수가 독립적임을 명시하기 위해서는 두 함수 블록 사이에 빈 줄을 추가해야겠죠?
def add(a, b):
result = a + b
return result
def multiply(a, b):
result = a * b
return result
이렇게 작성하면 깔끔하게 두 함수를 명시할 수 있습니다.
함수 뿐만 아니라 클래스 정의도 마찬가지로 빈 블록을 추가해주면 좋겠죠?
'Study > Python' 카테고리의 다른 글
[Python] 예외(exception)와 예외처리(exception handling) (1) | 2024.08.08 |
---|---|
[Python] 패킹(packing), 언패킹(unpacking) (0) | 2024.07.31 |
[Python] 문자열 탐색 메서드 index(), find() 비교 (0) | 2024.07.29 |
[Python] 클래스(class) (0) | 2024.06.27 |