忽略/抑制 Compose 函数的 detekt benchmark.xml 中的特定幻数警告

问题描述 投票:0回答:1

要忽略类中的幻数,我们可以这样做:

    <ID>MagicNumber:FeatureManager.kt$FeatureManager$30</ID>

其中,

FeatureManager
是类,
30
是幻数。

如果这是在撰写中会发生什么让我们说:

@Composable
fun CustomComposable(){
    LaunchedEffect(Unit) {
        delay(3000) // this needs to be added to baseline
        ...
    }
}

我已经尝试了多种方法,但仍然无法抑制这一点。

从文件引用中引用直接函数:

    <ID>MagicNumber:CustomComposable.kt$CustomComposable$3000</ID>

从文件引用中引用直接幻数:

    <ID>MagicNumber:CustomComposable.kt$3000</ID>

从元素(函数)引用中引用直接幻数:

    <ID>MagicNumber:CustomComposable$3000</ID>

这是一次打击和考验。我已经知道这不是这样做的方法(文档中也没有提到要做什么)

我发现的唯一阅读基线的参考是这个detekt网站

android kotlin android-jetpack-compose detekt
1个回答
0
投票

感谢 detekt 讨论板的讨论主题回复,我终于找到了解决方案。

总结一下,而不是:

    <ID>MagicNumber:CustomComposable.kt$CustomComposable$3000</ID>

我们应该做:

    <ID>MagicNumber:CustomComposable.kt$3000</ID>

如果是可组合项,只需参考幻数及其文件。 我们可以在这里找到确切的签名:

build/reports/detekt/detekt.txt

报告条目示例:

MagicNumber - [<anonymous>] at /Users/Documents/androidApp/src/main/java/tech/android/ui/BottomSheet.kt:170:33 - Signature=BottomSheet.kt$0.7f

抑制格式(按照detekt):

<RuleID>:<Codesmell_Signature>

最后:

<ID>MagicNumber:BottomSheet.kt$0.7f<ID>

这适用于可组合项。需要注意的是,它也会忽略文件中其他

0.7f
事件。

© www.soinside.com 2019 - 2024. All rights reserved.