AndyAO
2021-03-08 16:48:28 +08:00
无论什么语言,要做跨平台,比较轻松的方法就是从最初就是做,否则的话会蹩脚不堪[^1],甚至不如推倒重来。当然重来不意味着,之前做的工作全部都要重复,毕竟还有很多的设计思想和模式,甚至很多的代码段可以直接用。[^2]
[^1]: PETERSEIBEL. 编程人生:15 位软件先驱访谈录[M]. 人民邮电出版社, 2011.
如果你打算发布跨平台产品,历史会告诉你绝不要抱着“以后再移植”这样的想法。真想做到跨平台的话,就必须同时开发。所谓的移植只会令产品在第二平台上蹩脚不堪。 —— Jamie Zawinski
[^2]: 格拉斯. (2006). 软件工程的事实与谬误 = Facts and fallacies of software engineering. 中国电力出版社.
到目前为止,有关复用的讨论都相当让人失望。小规模复用已经有超过 45 年的历史了,其中的问题已经得到很好的解决。大规模复用问题似乎难以解决,只不过对于相似的问题有一点希望。修改可复用组件通常非常困难,不是一种非常好的方法。那么,当程序员面对一个新问题时,如何能避免彻底从头再来?软件实践者常用的方法之一是根据以往问题的处理方法来解决当前的问题。