Ruff — это ультрабыстрый линтер и форматтер кода, написанный на Rust. Он в 10-100 раз быстрее, чем Flake8 и Black, и поддерживает Python 3.13.
💡 Ruff заменяет Flake8 (и десятки плагинов), Black, isort, pydocstyle, autoflake, pyupgrade — и делает это в разы быстрее!
#Python #Ruff #Linting #Black #Flake8 #CodeQuality #PyDev #RustLang
https://github.com/astral-sh/ruff
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
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
👍2🔥2
Cohesion — это инструмент статического анализа для измерения связанности (когезии) классов в Python.
В программировании cohesion (связанность) определяет, насколько сильно методы и переменные внутри одного модуля или класса логически подходят друг другу. Как писал Роберт Мартин в книге «Чистый код»: «Когда связанность высока, это означает, что методы и переменные класса зависят друг от друга и составляют единое логическое целое».
Cohesion проверяет, как именно методы класса используют переменные этого класса (как уровня класса, так и уровня экземпляра
self), и выводит процентную оценку для каждого из них.Пример отчета (
cohesion --files example.py --verbose):Class: ExampleClass1
Function: func1 -> Использует 2 из 3 переменных (66.67%)
Function: func2 -> Использует 1 из 3 переменных (33.33%)
Function: func3 -> Использует 0 из 3 переменных (0.00%)
Total (Общая связанность класса): 33.33%
Если общая оценка слишком низкая, это явный сигнал о том, что класс делает слишком много разных вещей и его пора разбивать (нарушен принцип Single Responsibility).
--below и --above позволяют отфильтровать вывод (например, подсветить только те классы, у которых связанность ниже 50%).example.py:1:1: H601 class has low cohesionpip install cohesion
#Python #CleanCode #Cohesion #Refactoring #Flake8 #Linter #DevTools #StaticAnalysis #OpenSource
https://github.com/mschwager/cohesion
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - mschwager/cohesion: A tool for measuring Python class cohesion.
A tool for measuring Python class cohesion. Contribute to mschwager/cohesion development by creating an account on GitHub.
2⚡3👍3🔥3