从中兴制裁谈谈软件开发中的重新造轮子

标签: 重复造轮子

从中兴制裁谈谈软件开发中的重新造轮子

最近由“中兴制裁”事件引发了许多“中国芯”的讨论,我也来蹭蹭热度,来扯一下软件开发中“重新造轮子”的问题。

在我们接触到软件行业的时候,就常常会听到有人说“不要重新造轮子”的论点,个人其实挺反对这种论点,倒不是因为他不对,而是因为他缺少场景。 —— 没有前提条件的结论,都有失偏颇。还有就是最适合的轮子才是好轮子。

什么情况下需要重新造轮子

  • 个人发展需要
    • 典型场景:目前各个公司中项目开发基本都会用到ORM框架,当然这个可以快速提升我们的开发效率,但对于个人来说,单单会用是远远不够的;如果不自己去尝试造一造这个轮子,你可能连个sql都不会写,你的前途要想有光,还是挺困难的。
    • 注意事项:我们在公司项目开发中,由于工期等一些限制,我们需要尽量少造轮子,你不能项目都来不及了,你还去造轮子。 —— 我们这些小啰啰是要为公司创造利益的,不要把自己看太高,要学技术自己挤时间。
  • 公司发展需要
    • 典型场景:中兴制裁,自己公司不掌握核心技术,想要摆脱其他公司的控制,自然需要重新造。
    • 注意事项:公司中的代码都是要用于商业的,在使用开源项目时,需要注意他们的开源协议是否支持商业使用,不支持的自然需要自己开发(当然很多公司是不管这些协议,继续偷偷用)。
  • 项目开发需要
    • 典型场景:明明只要一个自行车轮子,你给我提供的轮子是汽车轮子。在开源项目中,往往为了适应更多的场景,会设计的更加通用,然而通用会带来一些问题,如项目臃肿,你可能只需要其中很小的一个功能,此时用第三方的项目不如自己造个适合自己项目的。
    • 注意事项:项目开发中需要合理选择第三方开源项目,有些第三方项目的学习曲线比较高,此时重新自己实现可能还来的快些。
    • 扯个其他事:我们在进行项目设计中,有时会考虑太多,从而导致项目无法继续进行,甚至导致项目不了了之,所以在进行项目设计时应该避免过度设计。 —— 量力而行,能力只能做个玩具车,就不要想着一下子搞个飞机了。

最后,我们可以不重复造轮子,但我们不能不会造轮子;我们一开始可以造的没别人好,但我们不能没有自己的轮子。 —— 愿祖国越来越强大,程序员起来造世界。

没有评论