클린코드란?
클린 코드는 소프트웨어 개발에서 가독성이 높고 유지보수가 쉬운 코드를 작성하는 데 초점을 둔 개념
- 클린 코드의 주요 특징
- 가독성 : 다른 사람이 이해하기 쉬워야 함
- 단순성 : 가능한 간결하고 단순해야 함
- 테스트 용이성 : 테스트 가능한 코드를 작성하는 것이 중요함
- 모듈화 : 코드를 작은 모듈로 분할하여 각 모듈이 독립적으로 테스트하고 유지보수 할 수 있도록 해야 함
- 중복 최소화 : 중복을 최소화하여 일관성을 유지하고 유지보수를 용이하게 해야 함
- 설계 패턴 활용 : 적절한 설계 패턴을 활용하여 코드의 유연성과 확장성 향상
- 클린코드의 효과
- 코드의 신뢰성 향상
- 신속한 개발과 지속적인 배포 가능
- 코드가 작성된 후에도 코드를 이해하고 수정하는 데 드는 비용을 최소화
- 클린코드를 준수하지 않아도 되는 경우 (예외상황)
- 다시 사용하지 않을 코드이며 좋은 품질의 코드가 아니어도 큰 무리가 없는 상황
코드 포매팅이란?
코드 포매팅은 클린 코드 작성에서 중요한 부분 중 하나
코드 포매팅은 코드의 모양과 구조를 일관되게 유지하여 가독성을 향상시키고 코드베이스의 일관성을 유지하는 데 도움을 줌
- 코드 포매팅의 효과
- 가독성 향상 : 일관된 들여쓰기, 공백 사용, 줄 바꿈 등은 코드를 읽는 사람이 코드를 쉽게 이해할 수 있도록 도와줌
- 일관성 제공 : 코드베이스 내에서 일관된 스타일을 유지함으로써 여러 명의 개발자가 작업할 때 혼동을 줄이고 코드를 이해하기 쉽게 만듦
- 버그 방지 : 올바른 코드 포매팅은 실수를 줄이고 버그를 방지하는 데 도움이 됨
- 협업 용이성 : 일관된 코드 포매팅은 팀원 간의 코드리뷰, 협업을 용이하게 만들어 효율성을 높임
- 자동화된 도구와 통합 : 코드 포매팅 규칙을 자동화된 도구와 통합하면 코드베이스에 일관된 스타일을 적용할 수 있어, 개발자가 수동으로 코드를 정리하는 시간과 노력을 줄여줌
파이썬에서의 코드 포매팅 PEP-8
띄어쓰기, 네이밍 컨벤션, 줄 길이 제한 등의 파이썬 코드 스타일 가이드라인을 제공
- PEP-8 주요 권장사항
- 들여쓰기 : 공백 4칸을 사용하여 코드 블록을 들여쓰기
- 줄 길이 : 한 줄의 길이를 79자로 제한
- 빈 줄 : 함수 정의와 클래스 정의 사이, 클래스 메서드 사이에 빈 줄 삽입
- import 문 : import 문을 알파벳 순서로 그룹화하여, 각 그룹 사이에 빈 줄을 삽입
- 공백 : 함수 정의와 호출 시 인수들 간에는 공백 제외, 연산자 주변과 쉼표 뒤에는 공백 삽입
- 명명 규칙 :
클래스 이름은 카멜케이스를 사용하고, 모듈 수준의 상수는 대문자와 밑줄을 사용
함수, 변수, 메서드는 소문자로 구성하고 필요한 경우 단어 사이를 밑줄로 구분 - 주석 : 주석은 문장의 첫 글자를 대문자로 시작하고 마침표로 끝내며, 코드와 함께 사용하는 것이 아니라면 최대한 지양
- docstring : 모듈, 함수, 클래스에는 문서화 문자열(docstring)을 포함하여 기능과 사용법을 설명
파이썬 코드 개선/유지 도구
- 데이터 타입 일관성 검사 도구 : mypy (annotation이 정확히 작성 되어 있어야 함)
- 코드 품질 검사 도구 : pylint, flake8, pycodestyle(pep8)
- 포매팅 도구 : black
'Python' 카테고리의 다른 글
중첩된 if-else 구문 리팩토링하는 방법 (0) | 2024.08.16 |
---|---|
파이썬 계약에 의한 디자인(Design by Contract, DbC) (1) | 2024.04.21 |
Python 정규 표현식 기초 (0) | 2024.04.13 |
Python 추상클래스 (0) | 2024.04.12 |
Python Singleton 패턴 (0) | 2024.04.12 |