当我在 Scala 的模式匹配中没有默认情况时,我的 linter 总是抱怨。然而,默认情况通常是人为的,我的程序永远无法真正达到这种情况。
例如,考虑以下程序:
scala> val x = 1
x: Int = 1
scala> x match {
| case 1 => println("yay")
| case _ => println("nay")
| }
yay
很明显,底部的情况实际上是死代码,但是,我的 linter 仍然会抱怨它。另一方面,我非常理解在整数上匹配而不覆盖所有情况的直觉感觉很危险,但在这种情况下,这显然是不合理的。
我是否应该简单地删除此处的默认情况并抑制 linter 警告以让您安心?
编辑: 请参阅https://www.codacy.com/app/hejfelix/Frase/issues?bid=2858415&filters=W3siaWQiOiJDYXRlZ29yeSIsInZhbHVlcyI6WyJFcnJvciBQcm9uZSJdfV0=以更详细地了解 Codacy 要求提供默认案例的案例数量。