在 Scala 中使用隐式的良好实践

Cla*_*ion 5 scala implicit

是否有任何客观原因可以/不在代码中到处使用隐式参数只是为了缩短应该传递的参数数量

我有一个 REST API。端点的每个调用都有一个唯一的 id,应该在调用触发的每个函数中逐字传递以进行调试。消除参数显式传递的第一个想法是使其成为每个函数中的隐式参数。但是,我的直觉告诉我,这是对隐式的误用(尽管我没有明确的论据不这样做)。

这种方法是否可以通过便利推理来证明,其中增益仅删除单个参数并假设对于像我这样的情况是一种很好的做法?

Ric*_*ich -3

我认为这个问题不太适合 Stack Overflow。它主要基于意见,并不完全清楚您在问什么。

我认为传递“上下文”类型参数(如请求 id)是 Scala 中隐式参数的相当传统的用法,所以我认为你的建议是很好的做法。

我不喜欢在代码中到处使用隐式参数只是为了缩短应该传递的参数数量。

为什么不?