Skip to content
This repository has been archived by the owner on Jan 24, 2024. It is now read-only.

全局变量 Side Effect 恢复功能 #249

Closed
SigureMo opened this issue Jul 6, 2023 · 0 comments · Fixed by #278
Closed

全局变量 Side Effect 恢复功能 #249

SigureMo opened this issue Jul 6, 2023 · 0 comments · Fixed by #278
Labels
🐾 meow 快乐喵喵开源活动专属认证

Comments

@SigureMo
Copy link
Member

SigureMo commented Jul 6, 2023

背景

我们分别在 #210#220 支持了 dict 和 list 的 Side Effect 恢复功能,但对于全局变量、自定义对象的 SideEffect 还没有处理

任务描述

一些些提示

MutableData 的中间层设计是为了统一各种各样发生 SideEffect 的 Variable 的,MutableDictLikeData 是为了统一 dict、全局变量、自定义对象三者的 SideEffect,因此本任务的全局变量即可复用 MutableDictLikeData

而由于全局变量的特殊性,可以将其看作一个特殊的 Variable,其数据域为 MutableDictLikeData,而 MutableData 的可恢复、可重现特性将会帮助我们实现 SideEffect 的功能

在恢复 SideEffect 时,不应类似 dict 直接 update(全量更新),而是应该根据 record 一条一条更新(增量更新),这里可能涉及到 SideEffect 恢复函数代码逻辑的组织(目前是使用递归实现的),可以考虑下如何做(目前个人设想是增加 pre-hooks、post-hooks),当然非常欢迎更棒的想法~

@SigureMo SigureMo added good first issue Good for newcomers 🐾 meow 快乐喵喵开源活动专属认证 and removed good first issue Good for newcomers labels Jul 6, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
🐾 meow 快乐喵喵开源活动专属认证
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant