问题标签 [scala-wartremover]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 如何避免推断类型不包含scala wart?
使用 scala wart我得到:
如何避免inferred type containing nothing
?
scala - 我应该在声明案例类时使用 final 修饰符吗?
根据scala-wartremover静态分析工具,我必须在我创建的每个案例类前面加上“最终”:错误消息说“案例类必须是最终的”。
根据替罪羊(Scala的另一个静态分析工具),我不应该(错误消息:“案例类上的冗余最终修饰符”)
谁是对的,为什么?
scala - Wartrremover 仍然在排除的播放路线文件中报告疣
我正在尝试将 Wartremover 添加到我的 Play 项目中,但即使我将其排除在外,它也会不断报告路由文件中的疣。我正在使用 Wartremover 0.14 和 Play Framework 2.4.6。
我的 build.sbt 中的相关部分:
(请注意,我必须采取不同于这个问题的答案所建议的方式。)
没有这wartremoverExcluded
条线,Wartremover 在我的路由文件中报告了 13 个错误。有了它,它仍然会报告两个:一个 aboutWart.Var
和一个 about Wart.ExplicitImplicitTypes
。我也可以排除这些疣,但使用Warts.allBut(Wart.Var, Wart.ExplicitImplicitTypes)
,但我不想这样做,因为这会从我的整个代码库中排除这些疣,而不仅仅是路由文件。
有没有办法让 Wartrremover 停止在路由文件上报告这些疣,而不排除每个文件的这些疣?
scala - 如何解析包含 Serializable 的推断类型
被这个难住了。使用 PlayJSON 和他们的 JsObject。
Wart remover 正在用胡萝卜(^)标记map
调用,并在该行说 Inferred type contains Serializable。代码可以正常工作,但想知道更多关于为什么工具会标记此错误以及如何删除此错误。
JSObject.fields 是scala.collection.Seq[scala.Tuple2[scala.Predef.String, play.api.libs.json.JsValue]]
我发现令人困惑的是您知道该 valfieldValueMap
的返回类型并且您知道jsObj.fields
scala - 一次性价值观——Scala 的最佳实践是什么?
WartRemover NonUnitStatements
要求不返回单元的语句必须有赋值。好的,但有时我们不得不使用既会变异又会返回值的恼人的 Java API,而我们实际上几乎不关心返回值。
所以我最终尝试了这个:
但是,如果我有多个,_
实际上是已分配给的合法 val,因此我无法重新分配。Wartrremover 也会正确地警告无偿使用 var,所以我不能这样做var _ =
。
我可以执行以下操作(需要;
避免 Scala 认为这是一个继续定义,除非我每次都添加一个完整的换行符)。
有没有更好的办法?
scala - 带有 java.io.Serializable 的 Scala WartRemover
我只是遇到了一个讨厌的错误,基本上,
所以 scala 继续推断List[java.io.Serializable]
这个列表,因为String
is not scala.Serializable
, but is java.io.Serializable
,并且 T is scala.Serializable
which extends java.io.Serializable
。我通常依靠 WartRemover 来捕捉此类错误,但在这种情况下它没有。显然它只抱怨 inferring scala.Serializable
。有什么理由不警告疣java.io.Serializable
吗?
scala - 使用 scala wart remover 获取日志消息的“null is disabled”警告
疣去除剂抱怨日志消息。它为什么抱怨?如何摆脱日志消息的疣去除器警告?
playframework - 播放框架和 wartremover:*.scala.html 文件的警告
我终于摆脱了在 build.sbt 中这条线路的 Wartrremover 警告:
我怎样才能为 *.scala.html 文件实现相同的目标?按目录排除似乎不起作用,包括
似乎根本没有任何效果
我正在使用 play-framework 2.6.11 和 sbt-wartremover 2.2.1 和 sbt 1.0.3
scala - Scala Async 和 Wartrremover
我想使用scala-async。我还使用启用了 [Return] 的 Wartrremover。(http://www.wartremover.org/doc/warts.html#return)。
然后我添加了一些代码来测试它:
当我尝试编译它时,它给了我错误:
有什么方法可以将 Wartremover 与 scala-async 一起使用?
scala - 有没有办法防止使用依赖项提供的特定功能?
我的应用程序对库 A 有编译依赖项。我知道这个库中有一个特定的函数会导致性能问题。但它并没有被弃用,如果你没有这些先验信息,你会认为使用它是安全的。我正在寻找一种方法来以某种方式弃用此函数或阻止它被直接调用。
是否可以通过静态分析工具或内置编译器标志来实现这一点?