본문 바로가기
-----ETC2-----/디자인패턴과 코딩컨벤션

[코딩컨벤션] Week 25: PEP8 스타일 가이드 및 코딩 포매팅 도구, 코드 품질 관리 도구

by cogito21_python 2024. 6. 2.
반응형

Day 1: PEP8 스타일 가이드

  • 강의 내용:
    • PEP8 스타일 가이드의 개념
      • PEP8이란 무엇인가?
      • PEP8의 중요성과 목적
    • PEP8 주요 규칙
      • 들여쓰기 (Indentation)
      • 최대 줄 길이 (Maximum Line Length)
      • 빈 줄 (Blank Lines)
      • 임포트 (Imports)
    • 코드 예제:
      • 잘못된 코드와 올바른 코드 비교
# 잘못된 코드 예제
def my_function(param1,param2):
 print("Hello, World!")
 if param1 > param2:
  print("param1 is greater than param2")

# 올바른 코드 예제 (PEP8 준수)
def my_function(param1, param2):
    print("Hello, World!")
    if param1 > param2:
        print("param1 is greater than param2")

 

Day 2: PEP8 스타일 가이드 심화

  • 강의 내용:
    • PEP8 규칙 상세 설명
      • 변수명과 함수명 명명 규칙 (Naming Conventions)
      • 주석과 독스트링 (Comments and Docstrings)
      • 공백 (Whitespace)
      • 오프레이터 (Operators)
    • 코드 예제:
      • 잘못된 코드와 올바른 코드 비교
# 잘못된 코드 예제
def add(x,y): return x+y #이 함수는 두 수를 더합니다.
a = 5; b = 3;print(add(a,b))

# 올바른 코드 예제 (PEP8 준수)
def add(x, y):
    """이 함수는 두 수를 더합니다."""
    return x + y

a = 5
b = 3
print(add(a, b))

 

Day 3: 코딩 포매팅 도구

  • 강의 내용:
    • 코딩 포매팅 도구의 개념
      • 코딩 포매팅 도구란 무엇인가?
      • 자동 포매팅의 중요성
    • 주요 도구 소개
      • 블랙 (Black)
      • 야프8 (YAPF)
      • 오토피프8 (AutoPEP8)
    • 사용 방법과 설정
      • 설치 방법
      • 기본 사용법
      • 설정 파일 예제
  • 실습:
    • 블랙, 야프8, 오토피프8을 사용한 코드 포매팅
# Black 설치 및 사용
pip install black
black my_script.py

# YAPF 설치 및 사용
pip install yapf
yapf -i my_script.py

# AutoPEP8 설치 및 사용
pip install autopep8
autopep8 --in-place my_script.py

 

Day 4: 코드 품질 관리 도구

  • 강의 내용:
    • 코드 품질 관리 도구의 개념
      • 코드 품질 관리 도구란 무엇인가?
      • 코드 품질 관리의 중요성
    • 주요 도구 소개
      • 플래이크8 (Flake8)
      • 파이린트 (Pylint)
      • 마이파이 (MyPy)
    • 사용 방법과 설정
      • 설치 방법
      • 기본 사용법
      • 설정 파일 예제
  • 실습:
    • 플래이크8, 파이린트, 마이파이를 사용한 코드 품질 검사
# Flake8 설치 및 사용
pip install flake8
flake8 my_script.py

# Pylint 설치 및 사용
pip install pylint
pylint my_script.py

# MyPy 설치 및 사용
pip install mypy
mypy my_script.py

 

Day 5: PEP8 및 코드 품질 관리 종합 연습

  • 강의 내용:
    • 종합 연습 문제 풀이
      • PEP8 스타일 가이드 적용 문제
      • 코드 포매팅 및 품질 관리 도구 사용 문제
    • 코드 품질 관리의 응용
      • 코드 리뷰 (Code Review)
      • 지속적 통합 (Continuous Integration)
  • 실습:
    • 종합 연습 문제 해결 및 결과 분석
### 종합 연습 문제 예시
1. 주어진 코드를 PEP8 스타일 가이드에 맞게 수정하세요.
2. 주어진 코드를 Black, YAPF 또는 AutoPEP8을 사용하여 포매팅하세요.
3. 주어진 코드를 Flake8, Pylint, MyPy를 사용하여 코드 품질을 검사하고 문제를 해결하세요.

 

Day 6: 프로젝트 준비

  • 강의 내용:
    • 프로젝트 주제 선정 및 요구사항 분석
      • 프로젝트 주제 및 요구사항 확정
      • 프로젝트 설계 및 계획 수립
    • 프로젝트 구현 준비
      • 데이터 구조 및 알고리즘 설계
      • 코드 스타일 가이드 및 품질 관리 도구 설정
  • 실습:
    • 프로젝트 주제 및 요구사항 분석
    • 프로젝트 설계 및 계획 수립
    • 코드 스타일 및 품질 관리 도구 설정
### 프로젝트 주제 예시
1. PEP8 스타일 가이드 자동 적용 시스템 개발
2. 코드 품질 관리 통합 도구 개발

### 프로젝트 요구사항 예시
1. PEP8 스타일 가이드 자동 적용 시스템:
   - 코드 입력 및 포매팅
   - 스타일 가이드 적용 결과 출력
   - 코드 품질 검사 및 문제 해결

2. 코드 품질 관리 통합 도구:
   - 코드 입력 및 품질 검사
   - 품질 검사 결과 출력
   - 자동 수정 및 최적화 기능

### 프로젝트 설계 및 계획 예시
1. 데이터 입력 모듈 구현
2. 코드 스타일 가이드 및 품질 관리 도구 통합
3. 데이터 출력 및 성능 분석 모듈 구현

 

이 강의는 파이썬의 코딩 컨벤션, 특히 PEP8 스타일 가이드 및 코드 포매팅 도구와 코드 품질 관리 도구의 기본 개념과 사용 방법을 익히는 것을 목표로 하며, 각 강의는 이론과 실습을 포함합니다. 다음 주차에 대한 상세 강의를 원하시면 말씀해 주세요!

반응형