1

我最终写了很多这样的代码:

String path = getAbsolutePath();
retriever.setDataSource(path);

而不仅仅是

retriever.setDataSource(getAbsolutePath());

仅仅是因为通过在第二行放置一个断点来调试第一行的输出会更容易调试。

有没有一种很好的方法来调试 getAbsolutePath() 的输出而不将代码分成多行?

注意:getAbsolutePath() 可能不是一个简单的函数。它可能有多个返回语句,甚至可能不包含源代码。换句话说 - 它可能不像进入 getAbsolutePath() 并在最后一行放置一个断点和返回语句那么简单。

4

1 回答 1

2

有没有一种很好的方法来调试 getAbsolutePath() 的输出而不将代码分成多行?

您可以在复合行上设置断点,然后:

  • 使用 Inspect 检查返回值getAbsolutePath()
  • 添加一个表达式来查看返回值getAbsolutePath()

不过,这两种选择都将重新评估该方法,因此至少对任何有状态的东西是否有用都是值得怀疑的。

下一个问题是你是否愿意。如果您关心的是可读性,我会说如果您发现自己经常调试这样一个复合语句,您应该将它放在单独的行上,因为它显然很重要且足够复杂,值得澄清一下。

于 2013-06-17T17:11:04.620 回答