View
Python Coding Convention
파이썬 코드 스타일에는 여러가지가 있지만,
대표적인 것은 파이썬 공식 가이드인 PEP-8과 구글의 파이썬 코딩 스타일이 있다.
다음 내용은 >wecode의 파이썬 코딩 스타일 가이드 입니다.
기본적으로는 PEP-8과 일맥상통 하며, wecode만의 스타일과 철학을 추가한 코딩 스타일 가이드 입니다.
중요한것은 가독성.
- 깔끔한 코딩 스타일
- 간단하고 명료한 로직
- 명확한 변수, 함수, 클래스 등의 이름
Naming
# 변수 이름 예제
user = User()
users = get_users()
bmw = Car("BMW")
http_request = HttpRequest()
total_cost = calculate_total_cost()
# Constant(상수)
DEBUG_LEVEL = 1
MAX_USERS = 200
VIP = 3
# 함수 이름 예제
def calculate_total_cost():
# ...
def get_user_permission(user):
# ...
def buy_stock(stock_name):
# ...
# 클래스 이름 예제
class User:
# ...
class HttpRequest:
# ....
class Car:
# ...
# 모듈 이름 예제
module.py
my_module.py
# 팩케지 이름 예제
package
mypackage
일반적으로 변수나 클래스는 이름이 명사로 이루어지며 함수는 동사 입니다.
파이썬에서는 클래스는 이름을 대문자로 구분하는 것을 제외하고는 일반적으로 _ 을 사용해서 단어들을 구분합니다.
또한 상수(constant)는 일반적으로 전부 대문자로 이루어지고 팩케지는 _를 사용해서 구분하지 않습니다.
Space
일반적으로 빈 줄은 하나만 삽입 합니다.
(어떤 가이드들은 클래스와 클래스 사이는 2줄의 빈 줄을 삽입하라고 안내하는 가이드도 있지만 저희는 기본적으로 빈 줄은 하나만 사용합니다).
Bad
class User:
def __init__(self, name):
self.name
if True:
print("Hello World!")
if False:
print("False")
else:
print("Else")
def create_user(user):
new_user = User()
new_user.name = user["name"]
new_user.age = user["age"]
save_user(new_user)
try:
do_something()
except Exception as e:
print("Exception!!")
Good
class User:
def __init__(self, name):
self.name
if True:
print("Hello World!")
if False:
print("False")
else:
print("Else")
def create_user(user):
new_user = User()
new_user.name = user["name"]
new_user.age = user["age"]
save_user(new_user)
try:
do_something()
except Exception as e:
print("Exception!!")
Code Align
Bad
import django
from something import awesome
from math import random
import requests
new_user = User()
new_user.name = user["name"]
new_user.age = user["age"]
new_user.feature = "?"
user = {
"id" : 1,
"name" : "아이유",
"age" : 27,
"gender" : "Female",
"occupation" : "Artist"
}
Good
import django
import requests
from something import awesome
from math import random
new_user = User()
new_user.name = user["name"]
new_user.age = user["age"]
new_user.feature = "?"
user = {
"id" : 1,
"name" : "아이유",
"age" : 27,
"gender" : "Female",
"occupation" : "Artist"
}
=> vim은 자동으로 align을 해주는 Align이라는 플러그인이 있습니다.
vim 을 배워서 사용해봅시다!
'PYTHON' 카테고리의 다른 글
TIL | codecata_week2day2_숫자중에서 과반수가 넘은 숫자를 반환 (0) | 2021.08.25 |
---|---|
TIL 42 | PYTHON_git_hub_repository_clone (0) | 2021.08.19 |
TIL 40 | PYTHON_Django_ManyToManyField의 역할 (0) | 2021.08.18 |
TIL 27 | PYTHON_How import statement finds modules and packages (0) | 2021.08.10 |
TIL 26 | PYTHON_Exceptions (0) | 2021.08.10 |
reply