1. 코딩 컨벤션을 팀에서 합의
2. 자동 포매터 도구 사용
3. 코드 리뷰 시 스타일도 체크 항목에 포함
✅ 요약
항목 설명
🤝 컨벤션 합의 | 처음에 팀원들과 통일된 스타일 가이드 정리 |
🔧 자동 포맷팅 | 포매터, 린터, Git hook 등 사용해서 자동화 |
🤖 AI 활용시 | 프롬프트에 스타일을 명확히 명시하거나, 사후 포매팅 적용 |
📄 문서화 | 스타일 관련 약속은 Notion/README에 기록 |
## 🔧 코딩 스타일 가이드 (Python)
- 포매터: black
- import 정렬: isortㅁ
- 함수/변수명: snake_case
- 클래스명: PascalCase
- 타입 힌트 필수
- 커밋 전 포매팅: pre-commit hook 사용
def hello():
print("Hello") # ← 스페이스 4칸
# Bad case
my_list = [ 1, 2, 3 ]
# Good case
my_list = [1, 2, 3]
# Good case
a = 1
b = a + 2
# Bad case
a = 1
b = a + 2
class MyClass:
def method1(self):
pass
def method2(self):
pass
def top_level_func():
pass
요소 스타일 예시
함수 | snake_case | calculate_sum() |
변수 | snake_case | total_count |
클래스 | PascalCase | DataProcessor |
상수 | UPPER_CASE | MAX_RETRY |
모듈 | snake_case | my_module.py |
비공개 변수 | _underscore | _internal_value |
import os
import sys
import numpy as np
import requests
from myproject.utils import do_something
→ 이를 자동으로 정리해주는 도구: isort
def greet(name):
"""사용자에게 인사합니다."""
return f"Hello, {name}"
PEP 8을 자동으로 적용하는 도구
도구 설명
black | 거의 모든 포매팅을 자동 적용 (PEP8 기반) |
isort | import 정렬 자동화 |
flake8 | 문법 오류, 스타일 위반 검사 |
pylint | 코드 품질과 스타일 모두 분석 |
참고할 링크
black은?
def add(a,b):return a + b
x=add(1,2)
print( x )
black으로 포매팅 후 결과
def add(a, b):
return a + b
x = add(1, 2)
print(x)
black의 특징
특징 설명
PEP8 기반 | 공식 스타일 가이드에 맞춘 형식으로 포매팅 |
일관된 규칙 | 팀원마다 스타일이 달라도 결과는 항상 동일 |
자잘한 수정 간편 | 괄호, 줄바꿈, 공백 등을 깔끔하게 통일 |
설정이 거의 없음 | "덜 고민하고, 코드에 집중하라"는 철학 |