程序员常说的“造轮子”是什么? 要转行轮胎制造了吗

经常在网上看到说是程序员大都是在“造轮子”,那么所谓的程序员造轮子到底是怎么一回事呢?首先看看“造轮子”一词的含义:明知道你做的不可能比前辈做得更好,却仍然坚持要做。就Java程序员软件开发而言,“造轮子”是指,“业界已经有公认的软件或者库了,却还坚持要自己开发”。

那么我们深思一下程序员重复造轮子都有哪些原因呢?

第一点、认为现有的轮子太老,不能满足自己新的业务需求

第二点、原有程序接口没有说明文档,使用起来太费劲

第三点、自身作为新手见识不够宽广,不知道已有程序或者库有着相同的功能

第四点、就想锻炼自己,自己造出来的轮子可以使自己更有进步,或者自己造的轮子更有踏实感,和控制感,轮子的每一个工序和细节自己都能了如指掌

在我们的程序员生活中,有人高呼要造轮子,也有坚持不要造轮子的呼声,那么高喊站在前人的基础上做软件开发的理由都有哪些呢?

第一点、项目主管觉得开发周期时间紧张,直接调用第三方库会最大限度的节约时间

第二点、经常造轮子的程序员会被领导认为这是技术不够过硬的一种表现,只会搬用别人的库,而不会自我原创

第三点、原有的轮子开发的思维或者想法比较复杂,现在有了更加“轻便”的轮子

第四点、轮子不属于当前产品的核心竞争力,所以没必要造轮子,直接使用原有程序即可

这可真是各执一词,仔细想想,双方的说法真的没毛病啊,既然如此,那我们讨论一下什么样的轮子可以重新造?或许更有价值!

现在的软件开发趋势来看,越来越多的基础服务都可以“拿来即用”,越来越多的新软件通过组合已有类库、服务以拼接的方式完成。这是趋势,或许在不远的将来一个不懂编程的人都可以通过简单的拼接完成自己想要的软件了。当然这里的意思不是说程序员就不需要了,毕竟需求会变化,就算是软件可以实现模块拼接组装,也需要程序员开发一个又一个的模块组件以及维护或者更新现有模块程序。

在这样的趋势下,软件开发就慢慢演化为两个方向了。一种是满足终端用户的应用类产品开发;另一种是解决软件产品通用问题的基础服务或者说组件。

比如说你想在自己的产品上晚上及时通讯功能,那么你可以直接调用现有的通讯组件,对产品的支付也可以直接调用支付插件等等。

类似的场景很多很多。这种趋势使得一部IT科技企业集中精力开发基础服务(组件),一部分企业集中精力解决普通用户需求。对基础服务(组件)厂商来讲,他们需要不断维护和升级自己的基础服务(组件)提升同款产品在市场上的竞争力,便可实现企业利润。而对于用户需求做衔接的企业来讲,只要他们解决用户需求而创造的价值大于支出给基础服务提供商的价值,就可以实现盈利。

那么从IT企业的角度考虑了这个造轮子的问题之后,那么作为程序员又该怎么样对待这个问题呢?

其实对于一个新手程序员来讲,研究别人的轮子,对自己技术上的精进也是有着很大的帮助的,通过对别人轮子构造的研究,可以帮助我们更好的理解和提升编程水平,有人说站在巨人的肩膀上可以看得更远,换句话说就是我们直接使用别人的轮子,可以让我们有更多的时间来关注别的模块;也有一种说法就是通过造轮子可以不断的更新轮子,让笨重的老轮子变得轻便易用,对于造轮子每个人都有自己的简介,欢迎各位程序员和程序媛发表自己的见解看法。

猜你喜欢

转载自www.cnblogs.com/xywl/p/10328586.html