【问题标题】:Autofix order of selectors选择器的自动修复顺序
【发布时间】:2021-04-02 00:17:11
【问题描述】:

我们针对我们的应用程序使用 SonarQube。 SonarQube 规则之一说:

较低特异性的选择器应位于覆盖较高特异性的选择器之前

详情是here。由于我的应用程序有很多违规行为,因此手动更改顺序并不可行。我想知道是否有一种方法可以在“修复”模式下使用 scss-lint、stylelint 或其他可以改变选择器顺序的方法。我看了看,但在 stylelint 中找不到任何东西。也许它不能安全地自动完成,因为更改顺序可能会影响特异性并因此改变应用程序的行为......

【问题讨论】:

    标签: sass sonarqube stylelint scss-lint


    【解决方案1】:

    就我个人而言!知道没有提供这种服务的 Linter。 (我对此很好奇。)但只是关于需要遵循“规则”的一些​​想法:

    确实:以优先级较低的选择器的方式编写 SASS/CSS 是一种很好的做法。 CSS 结构变得更具可读性,并且更容易构建代码结构,因为您的头脑(和代码)有更清晰的系统性。

    但只是从机制 CSS 作品开始真的不需要这样做。这样做不会使代码变得更安全或安全性降低,并且页面加载速度不会变慢。这就是特殊性机制所做的:就特殊性而言,选择器的顺序并不重要,您可以按照您需要的顺序编写代码。仅当特异性相同时,订单才算。

    所以,也许这条规则会导致“更好”的代码。但是:并非所有规则都需要满足。并非谷歌试图通过他们在浏览器中提供的最佳实践规则建立的所有规则,也不是其他分析工具提供的所有规则都需要遵守。

    如果不在这个项目中,因为它需要资源来纠正它......它也许可以但不是下一个项目的目标;-)

    【讨论】:

    • 同意,技术上不需要。也同意它更干净,这可能是该工具规则的动机。我试图通过修复规则来让自己开心。我们的团队正在尝试将相同的规则集应用于所有代码,因此有动力自动修复这个旧代码库中的问题。
    猜你喜欢
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 2012-04-29
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多