我最终写了很多像这样的代码:
String path = getAbsolutePath();
retriever.setDataSource(path);
而不仅仅是
retriever.setDataSource(getAbsolutePath());
只是因为通过在第二行放置断点来调试第一行的输出更容易调试。
有没有一种很好的方法来调试getAbsolutePath()的输出而不会将代码分成多行?
注意:getAbsolutePath()可能不是一个简单的函数。它可能有多个return语句,甚至可能不包含源代码。换句话说 - 它可能不像进入getAbsolutePath()那样简单,并在返回语句的最后一行放置一个断点。
答案 0 :(得分:2)
有没有一种很好的方法来调试getAbsolutePath()的输出而不会将代码分成多行?
您可以在复合线上设置断点,然后:
getAbsolutePath()
getAbsolutePath()
这两种方法都会重新评估这种方法,所以至少对于任何有状态的东西是否有用至少是值得怀疑的。
接下来的问题是你是否愿意。如果您的关注点是可读性的,我会说如果您发现自己经常调试这样一个复合语句,那么应该将它放在一个单独的行上,因为它显然非常重要且复杂到足以让那些澄清。