Skip to content

性能与可维护性的权衡 💸💸

命令式和声明式各有缺点 先抛出结论声明式代码性能不如命令式代码的性能

如果我们要将上节 div 文本改成 vue3 我们用命令式代码实现

ts
div.textContent = 'vue3'

因为没有比原生性能更好的代码 所以理论上命令式代码可以做到性能的极致优化 我们明确知道我们需要改变那些属性 但是声明式代码不能做到 他描述的是

ts
// before
<div @click=() => alert('ok')>hello world</div>
// after
<div @click=() => alert('ok')>hello vue3</div>

最终 需要执行的代码 还是会走到 div.textContent = vue3

对于框架来说 我们为了实现最优的性能 需要找出代码前后差异只更新变化的地方 那么我们如果差异消耗浪费性能为 a,命令式浪费性能为b

声明式 浪费的性能 就是 a + b 验证结论

WARNING

声明式代码保证了代码的可维护性 我们不需要手动操作 框架设计需要做的就是保证可维护性的同时 保证性能消耗的最小化

性能与可维护性的权衡 💸💸 has loaded