Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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
Archives
Today
Total
관리 메뉴

nomad-programmer

[Programming/Python] Ruff (Rust 기반의 파이썬 린터) 본문

Programming/Python

[Programming/Python] Ruff (Rust 기반의 파이썬 린터)

scii 2024. 6. 20. 01:20

Ruff는 Rust로 작성된 매우 빠른 린터 및 포매터이다.

https://github.com/astral-sh/ruff

 

GitHub - astral-sh/ruff: An extremely fast Python linter and code formatter, written in Rust.

An extremely fast Python linter and code formatter, written in Rust. - astral-sh/ruff

github.com

pip install ruff

Ruff와 Black과의 차이점

Ruff와 Black은 모두 Python 코드 품질 개선 및 유지보수성을 높이는 도구들이다. 허나 이들의 목적에는 차이가 있다.

Ruff (Linter)

  • 기능
    • 코드 스타일 검사를 통해 PEP8 등 스타일 가이드에 맞는 지 확인
    • 코드에서 잠재적인 버그, 비효율적인 코드 패턴, 사용되지 않는 변수 감지
    • 여러 종류의 린팅 규칙을 지원하며, 이를 통해 코드의 일관성을 유지
    • 일반적인 링팅 도구와 통합되며 다양한 린트 규칙 설정
  • 용도
    • 코드 스타일과 품질을 자동으로 검사하고, 문제를 사전에 발견하여 수정할 수 있도록 도와준다.
  • 목적
    • Ruff는 코드 스타일 검사와 린팅을 통해 코드 품질 유지

Black (Formatter)

  • 기능
    • Python 코드를 자동으로 포매팅하여 일관된 스타일 유지
    • PEP8 스타일 가이드에 따라 코드를 자동으로 재구성
    • 코드 포매팅에 대한 설정이 거의 없으며, "무조건적인" 방식으로 작동하여 사용자가 스타일에 대해 고민할 필요 없음
  • 용도
    • 코드 포매팅을 자동화하여 개발자가 코드 스타일에 대한 논쟁을 줄이고 더 중요한 코드 로직에 집중할 수 있도록 한다.
  • 목적
    • Black은 코드를 자동으로 포매팅하여 스타일 일관성 유지

Ruff는 코드의 스타일, 품질, 잠재적 버그 등을 검사하고 개선하는 데 유용하다.

Black은 코드 스타일에 대한 걱정을 덜어주고 자동으로 일관된 포맷을 유지하도록 도와준다.

결론적으로...

Ruff와 Black 이 두 도구는 서로 보완적인 역할을 하므로, 함께 사용하면 코드 품질 및 유지보수성을 더욱 높일 수 있다.


Pycharm에서의 Ruff 사용

Settings - Tools - External Tools - "+" 아이콘을 눌러 등록

Comments