思考 美术工具优化 对 美术资源生产 的影响
作为一个美术工具的开发者,我相信古老的谚语:磨刀不误砍柴工,即:优化美术工具 优先于 生产美术资源。但是又不得不承认,这并不是绝对的。假设柴刀本来就不算钝,而树又只剩少量几棵了,那么花时间找砥石磨刀,就算不上明智了。也就是说,还是要看具体的数值。
抽象来看,假设:美术工具有一项需要优化,优化的成本为:
c
工
具
优
化
c_{工具优化}
c工具优化。这一优化项和一些将要生产的美术资源有关,假设资源量为
n
美
术
资
源
量
n_{美术资源量}
n美术资源量,其中每一份的美术资源由于优化而可以减少的成本是:
c
减
少
的
美
术
生
产
成
本
c_{减少的美术生产成本}
c减少的美术生产成本。那么优化美术工具将会导致总体成本更低的条件是:
c
工
具
优
化
<
n
美
术
资
源
量
×
c
减
少
的
美
术
生
产
成
本
c_{工具优化}<n_{美术资源量}\times c_{减少的美术生产成本}
c工具优化<n美术资源量×c减少的美术生产成本
未来的美术资源量
在上式中,若左项小于右项,则可以肯定优化美术工具一定能让总体成本更低。
但反之,却不一定。因为
n
美
术
资
源
量
n_{美术资源量}
n美术资源量 在未来可能会变多,它是只增不减的。考虑到未来更多的资源量,那么权衡的天平就会向着“进行优化”的一边倾斜了。
人员成本
在上式的抽象中,一个并不真实的假设是:工具优化的成本,和美术生产的成本,是可以比较的。但实际情况比较复杂,大多时候是没法等价比较的。一个原因在于执行“工具优化”和“美术生产”的人是不一样的,即:消耗工具开发者的1小时,并不等价于消耗美术生产者的1小时。此外,他们之中的一方可能已经陷入了“瓶颈”。
这些,让权衡变得复杂。
思考 美术工具代码的重构 对 美术工具开发 的影响
美术工具是由代码编写的。而开发者在工具上花费的时间并不总是“开发新功能”,还将花费时间来对工具进行“重构代码”。“重构代码”不会导致用户在使用上有什么提升,但是对开发者自己有帮助:它将减少“开发新功能”的成本。
这么看来,这也是一个“磨刀不误砍柴工”的问题了。
总结
也就是说:“代码重构”将提高“美术工具优化速度”,而“美术工具优化的速度”又将提升“美术资源生产速度”,如下图:
从成本的视角来看,就是:
如果把“优化工具”比作是磨刀不误砍柴工,那么“重构代码”就是研究磨刀科技了。
当然,具体还是要看“数值”,即花费的成本与收益的比较。而这个比较,我想就只能靠工具开发者的经验了。
但项目中还面临的一个重要问题就是:就算作为工具开发者判断出了当前应该首要“优化工具”或者“重构代码”,但项目里位于上层的决策者并不总是能理解。毕竟,只有生产出的美术资源是最实在的,能提高美术生产速度的工具优化或许还可以理解,但是要说“重构代码”的意义,恐怕就很难让非技术人员理解了。
我想,这种不理解可能是没办法解决的。作为工具的开发者,也许只能提高自己的能力,来提高“工具代码重构速度”和“工具优化速度”,这样才更容易让决策者接受自己的判断。