gpt4 book ai didi

oop - 在任何情况下,对 "get"或 "calculate"操作的副作用是合法的吗?

转载 作者:行者123 更新时间:2023-12-04 22:26:31 25 4
gpt4 key购买 nike

我刚刚完成了一个奇怪的 UI 效果的六个小时的调试 session ,我发现我最喜欢的框架实现的一个名为“getVisibleRegion”的接口(interface)函数禁用了一些 UI 功能(并且显然忘记了恢复它)。

我已经向框架提交了一个错误,但这让我想到了适当的设计:在什么情况下对一个名称暗示仅仅是计算/获取操作的操作产生任何副作用是合法的?

对于那些对实际细节感兴趣的人:我有一个关于我的插件不断破坏 Eclipse 的代码折叠导致折叠栏消失并且无法“展开”或查看折叠代码的错误的报告。
我将其追溯到对 ITextViewer 上的 getVisibleRegion() 的调用,该 ITextViewer 的类型表示源代码查看器。现在,ITextViewer 的文档确实声明“可能会强制实现 ITextViewerExtension5 的查看器更改显示的输入文档的部分,以履行此契约(Contract)”。然而,实际的实现有点过于宽松了,只是永久禁用了投影(折叠),永远不会把它带回来。

最佳答案

我能想到的最大原因是缓存结果。

关于oop - 在任何情况下,对 "get"或 "calculate"操作的副作用是合法的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/354886/

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