it-swarm.cn

保存和还原撤消堆栈-好还是不好?

在具有多级撤消/重做(例如Photoshop,Word等)的主权桌面应用程序中,能够使用文件本身来保存和恢复文件的撤消历史记录是好事还是坏事?我最初的反应是“良好”,但是我发现我偶尔会按住Control + Z,直到它停止工作以恢复到以前的版本。有任何研究或经验吗?

12
Robert Fraser

这样的应用程序的一个示例是 IntelliJ IDEA (以及其他一些编程环境)。除了通常的特定于项目的外部 修订控制 ,IDEA具有用户特定的 本地历史记录 可以保存每个文件的修订版每次保存时(历史记录存储在用户的主目录中)。默认情况下,旧版本会保存3个工作日,之后会删除旧版本。每隔几秒钟自动保存所有文件的功能(我的偏好设置是在闲置5秒钟后),这意味着您将无需考虑保存文件,并且始终可以取回旧数据。这在编程时是真正的救星(有时我也用它来了解如何我在一个项目上工作了多个小时来记录我的工作时间,因为本地历史记录显示了每次更改的日期和时间。)

仍然需要外部版本控制,但对于其他需求-通常在完成一些一致的工作后(至少每1-2小时一次),您将在那里提交更改,这也是将更改分发给其他团队的一种方式成员并进行备份。另一方面,本地历史是为了在事故发生后几秒钟或几分钟内恢复。

我认为许多其他程序也将从类似的本地历史中受益。如果我的Office Suite拥有它,我会喜欢的,因为撤消/重做堆栈和手动保存文件是恢复丢失数据的非常原始的方式(它们不允许有选择的恢复,并且它们在重新启动程序后将无法生存)。我还记得看到过一个图像编辑应用程序(我不记得它的名字-我认为它仅适用于Mac),其中所有编辑都是对原始图片的转换,您可以随时返回以更改任何以前的编辑。因此,即使使用图像编辑,这样的历史也是可能的。

我不认为我希望将历史记录存储在正在编辑的文件中-否则它将变得非常大(每两秒钟进行一次修订;我在一年内从事的编程项目的本地历史记录为370 MB),并且可能会通过泄漏您认为已删除的数据而导致安全问题-但是每个用户的历史记录将非常有用。

7
Esko Luontola

我不时希望photoshop或Word具有这种功能,另一方面,就像您所说的,我经常按Ctrl-z直到停止。

另一个问题是性能。考虑一下Word文档草稿正在传递和编辑数周的情况。那将是巨大的!并永远加载。

另一个问题是隐私。我不希望人们看到我在Photoshop中为绘画图片采取了什么步骤,或者我以前向董事会提出的建议是什么。

总之,我认为这很好,但是您出于性能和隐私的考虑,必须有一种清除历史记录的方法,而且如果有人按下ctrl-z,则当您到达文档的状态时应该停止操作上次打开,询问他是否确定要继续。

7
Sruly

在我看来,您不需要撤消/重做,而是文件版本控制或 修订控制 。 (我不了解Photoshop,但Word具有此功能,默认情况下已禁用)。

7
peeles

也许撤消操作的超时默认为5分钟(可能是也可能不是一个可编辑的超时时间)?这将解决人们在几天/几周/几个月之后撤消数据的价值时非常担心的问题。它可以解决意外关闭应用程序并丢失撤消数据的问题。并且将保持按住Ctrl + Z的值以清除“会话”期间的所有更改(现在“会话”是指每次不活动时间少于5分钟的任何用法)

2
Chris Ledwith

对于大型和小型项目,我都非常喜欢。

Google Chrome=当您恢复意外关闭的标签页时,将带有完整的历史记录-这本身就很棒。

一些生产性应用程序通过一堆动作构建其工件,例如3D建模,您可以在无尽的堆栈中应用操作,然后可以进入并更改较早的操作,并使更改通过堆栈传播到当前修改器。然后,文件格式基于操作流程,而不是最终结果。

但是,任何不明显“发布”工件的最终版本或公共版本的应用程序都将招致很多风险。就像您发送的Word文档中包含更改的完整历史记录一样,该更改会冒犯接收者(例如,您从其他客户那里更改了客户名称的要约)。

1
Oskar Duveborn

我个人认为这很糟糕。版本控制系统将对此更好。我不认为用户期望撤消会以这种方式工作。我看不出他们怎么能记得几天前撤消堆栈中的内容。可能会占用您应用程序中的大量磁盘空间和内存。我的意思是用户基本上永远不会摆脱数据。您如何处理用户由于电量不足而要释放硬盘空间的用例?

1
Erik Engheim

我的感觉是这是工作的错误工具。撤消和重做与该过程中的操作有关,因此我可以在保存并继续之前撤消/重做一个操作。在我看来,跨会话保存似乎是一个不同的要求,版本控制更是一种风格。我可以看到有一个地方可以保存文件/应用程序的已保存版本的重做堆栈,这意味着您可以打开一个版本并立即撤消之前的操作,但是当您开始执行更多操作时,就会丢失此操作-堆栈重新启动。

我可以看到它会很有用-我有时会看到它想要-但我仍然认为这不是该工具的正确用法。

0
Schroedingers Cat