我在阅读《 Google C++样式指南》,但对Exceptions部分感到困惑。根据指南,使用它的缺点之一是:
具体来说,我不理解的语句是这样的:
和这个:
我认为我不习惯术语“持久状态”,“提交阶段”,“混淆代码以隔离提交”。最好是提供一些有关这些术语的小解释,示例或引用,以及为什么这是正确的。
最佳答案
“写入持久状态” 大致表示“写入文件”或“写入数据库”。
“进入“提交”阶段。” 的意思大致是“一次完成所有写作”
“也许被迫对代码进行混淆以隔离提交” 的含义大致为“这可能会使代码难以阅读”(略微误用了“obfuscate”一词,这意味着故意使某些内容难以阅读,而此处它们的意思是不经意间使其难以阅读,但是滥用可能是故意的,以产生戏剧性的效果)
更详细地说明:“写入持久状态”更紧密地意味着“在某些永久介质上写出重新创建该对象所需的所有有关该对象的详细信息”。如果写操作被异常中断,则那些“写出的详细信息”(即“持久状态”)可能包含新状态的一半和旧状态的一半,从而在创建对象时导致无效对象。因此,写状态必须作为一项不间断的 Action 来完成。