Extremely noisy defaults (recommended rules) #3129
Replies: 1 comment 6 replies
-
Thank you for your feedback! It's a pity that the rollout didn't go as expected.
I admit that maybe a few rules don't need to be recommended. However, in this particular example, I would argue that
Why it should be 10%? Are there articles or talks that you can share that explain the reason behind this?
I admit that we have a lot of recommended rules, however this information needs some important context. Biome lints three languages: JavaScript, JSX and TypeScript. These languages come with their quirks, patterns and side-effects. Plus, we recently rolled out CSS support, which is a very relaxed language, which requires more rules in order to build correct CSS. At the moment we have around 15 nursery rules for CSS, if we had to follow your 10% suggestion, we would need to recommend 2 rules, which doesn't work. Plus, considering that Biome is very recent, and we already have tons of recommended rules in the ecosystem (eslint + plugins + other linters), have you considered that maybe we decided to write first those rules that are generally used by the majority of projects out there (and recommended)? A11y rules are a clear example. They are many, and I don't see any strong reason to not recommend them.
Who is "everyone" in this case? :) Biome a young project with a small team and a small community 😄 so if the team and the small number of contributors that follow the project feel good about some defaults, we ship it. We have a relaxed process at the moment. Do you have any particular suggestions? Any particular idea in mind? |
Beta Was this translation helpful? Give feedback.
-
We recently rolled out Biome to our large customer base at CodeRabbit. We were under the assumption that, just like Ruff, Biome would have recommended rules that everyone agreed upon. However, the roll-out has been a disaster, and we ended up with a lot of cancellations and complaints on all our channels. Users were pulling their hair and screaming at the AI bot to spare them from noisy suggestions. In particular,
useImportType
,useExhaustiveDependencies
andnoForEach
decimated the user experience.For a linter, the defaults shouldn't be more than 10% of the total rules. In case of Biome, 90% rules are enabled as defaults - something is clearly off here.
I suggest that the maintainers take a deep look at the rule list and disable any rule that comes across as an opinion or has caveats. Defaults should only be those rules that everyone can agree upon. Ruff has done a great job with defaults, and that is one of the reasons it has good traction.
Beta Was this translation helpful? Give feedback.
All reactions