业界常有“建议不重新造轮子”的说法;这种说法的依据是:大家都是技术工作者,自己的创造不可能比已有经过检验的现有产品好很多。
重复造轮子的人也有自己的理由:1. 实践一种理论,并打通该理论的全部流程,本身就是一种学习。2. 开发和使用习惯的个人差异。
究竟应不应该重复创造轮子呢?
我的观点是这样的:1)我们应当关注“规范” 或 “约定”,先确定规范和约定,包括设计理念、侧重要解决的方面,其中的平衡和取舍。即:why。然后才是一个组件或类库的实现实例。此实例仅作为以上解决方案的实现论证,不排除有其他路径实现方法。
2) 出于学习的目的或优化现有产品的某些点的实现,可以fork一遍,或替换算法;重新组织流程。
以上两点,都是出于“管理”的视角,一方面实现全产业域的发展,一个是个体自我管理。
有疑问加站长微信联系(非本文作者)