<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linter on jdhao's digital space</title><link>https://jdhao.github.io/tags/linter/</link><description>Recent content in Linter on jdhao's digital space</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2017 - 2026 ❤️jdhao</copyright><lastBuildDate>Sun, 02 Aug 2026 19:07:15 +0200</lastBuildDate><atom:link href="https://jdhao.github.io/tags/linter/index.xml" rel="self" type="application/rss+xml"/><item><title>Using ruff as Linter for Python Projects</title><link>https://jdhao.github.io/2026/08/02/introduce_ruff_linter_to_python_project/</link><pubDate>Sun, 02 Aug 2026 11:20:23 +0200</pubDate><guid>https://jdhao.github.io/2026/08/02/introduce_ruff_linter_to_python_project/</guid><description>&lt;p&gt;In python projects, we always need a linter to catch potential issues and enforce best practices.
In the past, there were linters like pylint, flake8.
However, they are not performant for large code bases and also you have to install different tools for linting.&lt;/p&gt;
&lt;p&gt;Then &lt;a href="https://docs.astral.sh/ruff/" target="_blank" rel="noreferrer"&gt;ruff&lt;/a&gt; &lt;a href="https://x.com/charliermarsh/status/1564674602537816064" target="_blank" rel="noreferrer"&gt;came out in 2022&lt;/a&gt; and completely changed the Python linter landscape.
It can literally replace all the other major linters with comprehensive support of different rules.
See &lt;a href="https://piptrends.com/compare/ruff-vs-pylint-vs-flake8" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt; for the download trends on ruff, pylint and flake8.&lt;/p&gt;</description></item></channel></rss>