重复造轮子对于用轮子的人没有意义,但是对于造轮子的人有意义。

2020-11-23 11:26:33 +08:00
 acmore
3792 次点击
所在节点    程序员
18 条回复
kop1989
2020-11-23 11:42:05 +08:00
也未见得。
大家所共识的轮子,最优解谈不上,最起码可以说是相对的合理解。(比如圆形,橡胶外部,充气)
你自己再造一个,要么就是为了赶上现有轮子的性能,对现有的轮子进行像素级克隆。
要么造出来一个方形的、或者木头的轮子(总之提升有限)
wliansheng
2020-11-23 11:43:42 +08:00
造轮子这个过程会提高自己使用轮子的经验,以及看到别的形状的轮子也有自己的见解
blindie
2020-11-23 11:47:08 +08:00
比如刷绩效吗
eddycoding
2020-11-23 11:49:15 +08:00
深有体会,一直在用公司内部封装好的框架,很多细节都给写好了,这些轮子让我自己写是无法完成的
coderluan
2020-11-23 11:50:02 +08:00
意义肯定有的, 但是效率就不一定了.
sagaxu
2020-11-23 11:52:28 +08:00
大民企有 KPI 项目,体制内有政绩工程,同一批人做了不同的职业而已
wysnylc
2020-11-23 11:56:55 +08:00
Anarchy
2020-11-23 12:01:10 +08:00
学习本身就是重复造轮子,应该抛去这个来考虑
AndyAO
2020-11-23 12:01:41 +08:00
@wysnylc #6

这个澄清很好,「重新造」没啥问题,只要有价值就行。

@acmore

我认为楼主想表达的意思可能是:

> 就像此书中引用的一句无法考证其作者的话说的那样:任何计算机的问题都可以通过增加一个层来解决。
>...
> 随着各种问题的解决,计算机的层增加的越来越多,我们这一代新成长的程序员离底层也越来越遥远了,而且可能还会越来越远。因此常听人感叹,计算机技术有多么的日新月异,多有追赶不及的感伤。
>...

来自网友对<程序员的自我修养:链接、装载与库 >的书评.
PiersSoCool
2020-11-23 12:05:40 +08:00
造轮子这种事情大部分时候应该避免 但自己也应该造一造
就比如 今天你开汽车
明天说不定你就开自行车 轮子的原理都是一样的 需要能造出来
后台要开电动滑板车 也要可以造
msg7086
2020-11-23 12:11:26 +08:00
目的不一样。重新造轮子的目的是学习。重新发明轮子的目的是改进。

不要重新发明轮子,也不是说重新发明了没用,而是说不要局限在之前已经发明过的那些部分。
eason1874
2020-11-23 12:16:42 +08:00
为学习重复造轮子意义很大,而且是必要的。

为使用重复造轮子没什么意义,除非现有轮子满足不了你的要求。
raaaaaar
2020-11-23 12:28:25 +08:00
什么叫“造轮子”?

拆开来看,就是“造”,和“轮子”。

那么,轮子是什么?
如同上面说的一样,计算机就是一个天然的分层架构,无论上深入到底层,门电路封装成一些组合电路和时序电路,把底层封装的操作系统,封装系统 API 的 shell 程序,还是 web 里的 web 框架,log 框架等等。可以复用的,我们就可以抽象为一层,封装一下。

现在再看,轮子是什么?轮子就是一层的意思,无论你写编译器还是写 web 框架,都是轮子。

那么,什么是造轮子?
自己去思考,有哪些可以封装,需要抽象到一层中,API 要怎么设计,怎么优化等等。这就是造轮子的过程。

那么造轮子这个过程,我们能学到些什么?
上面说了,我们可以学习底层实现原理,要踩的坑等等,同时这个过程也是读源码,设计的过程,这很大程度的提升了我们对这门语言的使用,经常会学到很多技巧,这对我们使用这门语言是很有好处的。同时呢,如果我们造的轮子就是平常经常用的,那么我们日常的工作就不是建立在黑盒上,我们的日常编写代码将更透明,设计站的高度更高,debug 也能深入到底层去。

那么造轮子有什么坏处?
当然有坏处了,坏处就是很消耗时间,如果和业务没处理好平衡,这就凉凉了。

那么为什么有人会说,不要重复造轮子?这究竟是什么意思?
不说别人说什么就是什么,这句话我们看它的来源,其实英文并不是这个意思。表达为,不要在生产中,用自己造的轮子。这句话就很好理解了,除了那些不得不自己造的情况外,如果有现成的轮子,就不要造,因为你的能力大概概率没有别人强,别人的时间,兼容性,性能等等,大概率比你好,如果出了问题,你自己造的话,还加强了维护的工作量。当你真的造过轮子,你就应该对自己的实力有所了解,你的轮子真的是圆的?
aneostart173
2020-11-23 12:32:20 +08:00
学生时代多造轮子,工作了能不造就不造,除非你有充足的理由。
glfpes
2020-11-23 12:52:10 +08:00
重复造轮子只能用你私人时间。工作时没有合适的理由会被 diss 。
IGJacklove
2020-11-23 13:28:09 +08:00
@wysnylc 发明和造是两回事。
IGJacklove
2020-11-23 13:29:30 +08:00

@wysnylc 我的,看一半就评论了。
isnullstring
2020-11-23 16:55:39 +08:00
通用的轮子不合适,只好自己造

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/728258

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX