首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT中findbug的奇怪行为

RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT中findbug的奇怪行为
EN

Stack Overflow用户
提问于 2019-03-28 20:26:10
回答 1查看 1.1K关注 0票数 4

我有findebug,它检查在一种情况下找到bug,而在另一种情况下没有找到,我完全不明白它是如何连接的。

所以我遇到了这个RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT,并开始尝试不同的代码,并找到了修复此警告的变体,但它看起来完全与报告的问题无关。

此代码确实会生成RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT

代码语言:javascript
运行
复制
        final Node currentProjectNode = TripleUtil.createNode(projectId);

        final ParameterizedSparqlString pQuery = new ParameterizedSparqlString();
        pQuery.setNsPrefix(TripleUtil.NS_PREFIX, TripleUtil.NS);

并且这段代码不会产生bug

代码语言:javascript
运行
复制
        final Node currentProjectNode = TripleUtil.createNode(projectId);
        final PrefixMappingImpl prefixMapping = new PrefixMappingImpl();
        prefixMapping.setNsPrefix(TripleUtil.NS_PREFIX, TripleUtil.NS);
        final ParameterizedSparqlString pQuery = new ParameterizedSparqlString();
        pQuery.setNsPrefix(TripleUtil.NS_PREFIX, TripleUtil.NS);

正如你所看到的,我只是实例化类,然后使用它的方法,就这样,我没有改变产生bug的代码,我没有改变产生bug的方法。看起来在第一个样本中,findbug就是找不到合适的实现,但我不明白为什么?毕竟不应该报告它,因为prefixMapping.setNsPrefix做了一些工作,而不仅仅是返回值。

EN

回答 1

Stack Overflow用户

发布于 2021-07-08 12:45:24

当对函数的调用没有任何副作用时,如果结果被忽略,那么调用还有什么意义呢?在这种情况下,要么函数调用是无用的,应该删除,要么是源代码的行为不符合预期。

在设置prefixMapping的值之后,需要执行一些操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55397593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档