일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- git
- 포인터
- HTML
- 구조체
- jupyter lab
- gitlab
- 깃
- 플러터
- github
- c# 윈폼
- c#
- 유니티
- vim
- c# 추상 클래스
- C언어 포인터
- C# delegate
- 도커
- docker
- C++
- Flutter
- Algorithm
- 다트 언어
- dart 언어
- c언어
- Houdini
- jupyter
- Data Structure
- c# winform
- Python
- Unity
Archives
- Today
- Total
nomad-programmer
[Programming/Python] Ruff (Rust 기반의 파이썬 린터) 본문
Ruff는 Rust로 작성된 매우 빠른 린터 및 포매터이다.
https://github.com/astral-sh/ruff
pip install ruff
Ruff와 Black과의 차이점
Ruff와 Black은 모두 Python 코드 품질 개선 및 유지보수성을 높이는 도구들이다. 허나 이들의 목적에는 차이가 있다.
Ruff (Linter)
- 기능
- 코드 스타일 검사를 통해 PEP8 등 스타일 가이드에 맞는 지 확인
- 코드에서 잠재적인 버그, 비효율적인 코드 패턴, 사용되지 않는 변수 감지
- 여러 종류의 린팅 규칙을 지원하며, 이를 통해 코드의 일관성을 유지
- 일반적인 링팅 도구와 통합되며 다양한 린트 규칙 설정
- 용도
- 코드 스타일과 품질을 자동으로 검사하고, 문제를 사전에 발견하여 수정할 수 있도록 도와준다.
- 목적
- Ruff는 코드 스타일 검사와 린팅을 통해 코드 품질 유지
Black (Formatter)
- 기능
- Python 코드를 자동으로 포매팅하여 일관된 스타일 유지
- PEP8 스타일 가이드에 따라 코드를 자동으로 재구성
- 코드 포매팅에 대한 설정이 거의 없으며, "무조건적인" 방식으로 작동하여 사용자가 스타일에 대해 고민할 필요 없음
- 용도
- 코드 포매팅을 자동화하여 개발자가 코드 스타일에 대한 논쟁을 줄이고 더 중요한 코드 로직에 집중할 수 있도록 한다.
- 목적
- Black은 코드를 자동으로 포매팅하여 스타일 일관성 유지
Ruff는 코드의 스타일, 품질, 잠재적 버그 등을 검사하고 개선하는 데 유용하다.
Black은 코드 스타일에 대한 걱정을 덜어주고 자동으로 일관된 포맷을 유지하도록 도와준다.
결론적으로...
Ruff와 Black 이 두 도구는 서로 보완적인 역할을 하므로, 함께 사용하면 코드 품질 및 유지보수성을 더욱 높일 수 있다.
Pycharm에서의 Ruff 사용
'Programming > Python' 카테고리의 다른 글
[Programming/Python] PyPI (Python Package Index) (0) | 2024.08.12 |
---|---|
[Programming/Python] Poetry (0) | 2024.07.22 |
[Programming/Python] FastAPI & Typer (0) | 2023.03.30 |
[Programming/Python] asyncio (Asynchronous I/O) 비동기 프로그래밍 (0) | 2023.02.01 |
[Programming/Python] with as에 사용할 수 있는 클래스 만들기 (0) | 2023.02.01 |
Comments