2025 MACH UAM offboard control system
2025년도 로봇항공기 대회 및 UAM 올림피아드 출전을 위한 offboard control system
Python Code Convention Rule set for MACH UAM
항목
규칙
코딩 스타일
PEP 8을 따를 것
파일 인코딩
UTF-8 사용 (# -*- coding: utf-8 -*- 불필요)
들여쓰기
4칸 공백 (Tab 사용 금지)
항목
규칙
예제
변수명
Snake_case 사용
user_name = "Alice"
함수명
snake_case 사용
def get_user_data():
클래스명
UpperCamelCase 사용
class UserManager:
상수명
UPPER_CASE 사용
MAX_USERS = 100
항목
규칙
예제
연산자 양쪽 공백
a = b + c (O) / a=b+c (X)
total = price * quantity
콤마 뒤 공백
x, y, z = 1, 2, 3 (O)
coordinates = (10, 20, 30)
리스트/딕셔너리 공백
[1, 2, 3], {"key": "value"}
data = {"name": "Alice", "age": 25}
블록 들여쓰기
4칸 공백 (Tab 사용 금지)
def my_function():⏎····print("Hello")
항목
규칙
예제
매개변수 기본값
def func(value=None):
def connect(host="localhost"):
self 사용
클래스 내부 메서드는 self 필수
def get_name(self):
항목
규칙
예제
문자열 표기
단일 ' 또는 이중 " 가능 (일관성 유지)
name = "Alice" 또는 name = 'Alice'
문자열 포맷
f-string 사용 권장 (Python 3.6 이상)
f"Hello, {name}!"
주석 스타일
한 줄 주석은 # 사용
# 이 함수는 데이터를 가져옵니다.
Docstring
""" """ 사용, 첫 줄 요약 후 상세 설명
"""Fetch user data from API."""
항목
규칙
예제
예외 처리 기본
try-except 블록 사용
try:⏎····open("file.txt")⏎except FileNotFoundError:
구체적인 예외
Exception 대신 특정 예외 사용
except ValueError: (O) / except Exception: (X)
finally 필수 사용
리소스 정리는 finally에서 수행
finally:⏎····file.close()
항목
규칙
예제
import 순서
표준 라이브러리 → 서드파티 → 로컬 모듈
import os⏎import numpy as np⏎from my_module import my_func
모듈 내 __main__
스크립트 실행 여부 확인
if __name__ == "__main__":
불필요한 글로벌 변수 지양
함수 내 지역 변수 사용
def func(): x = 10
feat: ~~~
hotfix: ~~~
refact: ~~~
debug: ~~~
소문자, 콜론 뒤 공백금지, 메세지는 한국어 허용, 최대한 간결하게 명사형 어미를 사용할 것