gpt4 book ai didi

java - 在 Java 中使用断言是一种好习惯吗?

转载 作者:IT老高 更新时间:2023-10-28 21:14:19 24 4
gpt4 key购买 nike

我知道关键字assert存在于java中。但是我不记得看到使用它的代码。可能我正在使用异常并在我可以使用它的地方登录。在 java 中使用 assert 关键字是一个好习惯吗?

编辑:我知道断言通常是一种很好的做法。我的问题是,更准确地说,如果在 java 中断言的 BKM 使用 assert 关键字而不是使用异常、日志记录和其他技术。

最佳答案

不使用断言的主要原因是默认情况下未启用它们。因此,如果您有一个重要的条件需要断言,则不能依赖启用断言来完成工作。

正如其他答案正确指出的那样,它们是为开发时测试和调试而设计的,因为如果在生产中禁用断言,它们不会产生任何成本。我认为最好在测试框架中创建显式测试(例如边缘条件的单元测试),而不是依赖某人在测试时启用断言。

然而,我见过的使用断言的一个很好的例子是检查私有(private)方法参数。由于您控制对这些方法的访问,因此您可以检查您自己的类是否正确使用该方法,而您的公共(public)方法使用更可靠的参数检查技术(注释、if 语句、3rd-party 库等)。这样,即使断言被禁用,您的方法也应该受到保护,但查看源代码的开发人员可以看到您的方法的先决条件,并在处理该类时打开断言以获得额外的安全网。

关于java - 在 Java 中使用断言是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4537609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com