gpt4 book ai didi

java - 使用注释来记录参数传递策略?

转载 作者:行者123 更新时间:2023-12-01 04:45:41 25 4
gpt4 key购买 nike

在方法调用中传递可变对象会使该对象暴露给被调用者修改,这可能是也可能不是调用者的意图,如下例所示:

service.configure(parameters);

它可能 (1) 告诉服务“使用这些参数配置您自己”,或者它可能 (2) 要求服务“为我配置这些参数”。

在第一种情况下,您可以通过将保护副本传递给服务来保护对象免受修改(在某些语言中,您可以按值传递它)。在第二种情况下,您故意传递对象以对其进行修改。可能性有很多种,各有利弊,但清楚地记录您的意图总是有帮助的。

您是否知道将参数标记为“只读”或“允许修改”的注释?讨论已开始...

最佳答案

针对jsr305中的javax.annotation.concurrent.Immutable,我开始使用Mutable注释,这意味着“这个对象将被修改”。没有与之相关的 findbugs 检查;它只是改进了文档。示例:

service.configure(@Mutable parameters);

现在您一眼就能看出参数可能会发生更改。

关于java - 使用注释来记录参数传递策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15901827/

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