Replies: 1 comment 2 replies
-
|
See #1774 Categorizing rules by what they do instead of what plugin they're from is on the roadmap, it's just a lot of work to actually get it done. Overlapping rule codes from flake8 plugins are generally covered by rule aliases. Any discrepancies in the implementations of rules are usually there to provide a better and more consistent autofix experience, but they generally tend to still preserve the spirit of the original rule. I personally haven't encountered many issues when moving to ruff from flake8, aside from |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
As far as I understand Ruff's history, most rules originate from flake8 plugins and pylint (alongside some native rules). Currently, the rules are still organized on a plugin basis, carrying the names of their origins and referencing back to the original repositories. However, this relationship is not necessarily helpful since Ruff maintains its own copy of the rules, which can lead to divergent user experiences as the original repository and Ruff might develop the rules in different directions. This is not necessarily problematic, but I find it confusing.
Similarly, the rules are grouped by their origin rather than by their purpose. This makes it harder to find relevant rules and to disable groups of rules (e.g., all rules concerning stylistic issues).
Since most rules are essentially copy-translate-paste implementations from their origins, there are potentially conflicting rules (though I'm not entirely certain about this) or rules that perform identical or very similar functions.
All of this contributes to a inconsistent user experience for me. I understand that this approach enables drop-in replacement functionality. However, if Ruff were to re-group and rename its rules, keeping references to their origins only as footnotes, I believe this would lead to a more streamlined user experience, especially given that Ruff will likely evolve these rules in different directions than their origins.
Beta Was this translation helpful? Give feedback.
All reactions