感叹一下,写代码真的很爽,有同感的没,我很享受make的乐趣

2013-08-07 11:47:50 +08:00
 refresh
前提是按自己的意愿写代码,我不喜欢完全按照别人的旨意写代码。当然不是说不管需求,我不喜欢太死的需求,比如说外包公司,你完全没有发挥的空间。
6173 次点击
所在节点    程序员
38 条回复
jianghu52
2013-08-07 11:51:48 +08:00
稍微泼点冷水,你现在的写的代码超过90%都是已经重复过的轮子
laskuma
2013-08-07 11:58:11 +08:00
@jianghu52 为什么会有这样的冷水呢?我并不觉得造轮子是一件浪费时间的事情。如果只会调用,永远把那些“轮子”当成黑盒,你就永远也理解不了轮子的巧妙。也没有能力自己创新,在新的方面造出新的“轮子”
sethverlo
2013-08-07 12:03:47 +08:00
@jianghu52 就像 Livid 说的「我觉得,有很多开源软件满足的不是用户,而是作者」,在这种情况下自己造个轮子其实也没什么不好的……而且有的轮子的学习成本(主要指代码规范等方面)要远远高于重新再造个轮子的成本……而且如果想深入学习某个技术的话(比如代理)重复造轮子也是必要的吧……
bengol
2013-08-07 12:04:31 +08:00
羡慕啊,天天调试的飘过
rteta
2013-08-07 12:44:38 +08:00
的确,部分开源项目是就是个渣,只是爽了作者的满足心理,对用户毫无价值。
zhujinliang
2013-08-07 12:50:34 +08:00
借话题说说自己的事:
顺便 @jianghu52 讨论下

我还是菜鸟,我承认,我还在不断学习探索的路上。

前些日子,心血来潮去面试一个工作。电话面试,对方要求会xxx框架、熟悉xxx环境。我没接触过那些框架,或仅有所耳闻。

那些框架无非是些加载器,或者MVC之类的。基本原理我懂,我在自己的项目中用自己的觉得优雅方式,造了一个自己满意的轮子来实现了诸如此类的功能,甚至说,让我实现一个这样的框架我都可以做到。
有时也不乏,“原来这就是xxx框架啊,我以前都是这样实现这个功能的”这类的感慨。

结果是,虽然双方表示互相理解,但面试不成功。
可能的原因:对方急需人手,无暇培训(大家做项目肯定需要用一样的框架)

沟通中也提到过重复造轮子的问题。似乎对方认为重复造轮子是不对的,不符合程序员思想的。似乎“重复造轮子是错误的,别问我为什么是错的,社区里大家都这么说,书上也是这样写的”。

但是我在满是自己的轮子的世界里玩的很happy。自己造的轮子,别人看起来可能跟常见的轮子没啥区别,或者觉得更难用,但对于自己来说:
◇自己的轮子自己用起来最舒服
◇使用中如果有不满意的地方可以随时改掉,改多了觉得恶心了,大不了再从头造一个
◇自己扩展、维护起来很轻松,不必啃别人的代码,研究别人的思想
◇自己的轮子们能从头至尾保持一个统一的思想

对于我来说,如果原理能够看透,学习如何用别人的轮子还不如自己造一个轮子。
◇花费的时间上,如果不是很复杂的功能,自己造轮子比学别人的轮子更省时间,而且记忆负担小。
◇获得的乐趣上,自己造一个轮子比学习别人的更有乐趣和动力。

似乎是有的人乐于探索,发现一个好框架兴奋的不得了,“哇,居然还能这样用”,“比那个xxx好多了”,类似这样。
应该也有不少人乐于创造,看到一个框架,表示“不就是xxx原理的么,我能写个更好的”。
乐于探索的看不起乐于创造的,“重复造轮子,你看看人家的框架,学学人家先进的思想”,乐于创造的也看不起探索的,“不就是xxx原理的么,我能写个更好的”。
乐于探索的似乎聊得开,各社区,群组,谈x框架,y库,z平台滔滔不绝。搞创造的自个儿在一边对着屏幕不停地抠手指琢磨如何来的优雅,偶尔手贱发表一下,有人就拿x框架,y库,z平台来进行对比。
cxe2v
2013-08-07 13:26:36 +08:00
@zhujinliang 说的太棒了
refresh
2013-08-07 13:35:08 +08:00
@jianghu52 呵呵,不用泼冷水,话说我写代码已经很多年了。以前也造过很多轮子,各种轮子,但我觉得造轮子是每个程序员的必经之路,写多了才会知道自己的不足。Copy不是坏事,就怕没有思考的Copy。我们都是普通人,我们不是大师,所以我们要多磨练。但不能闭门造车,多研究别人的代码和方法论是有必要的。


@zhujinliang 年轻人造点轮子没什么不好,只有深入了解了,才会得心应手,才会happy
cxshun
2013-08-07 13:42:18 +08:00
@zhujinliang 有同感。重复造轮子没什么不好的,反而能让自己对某部分的知识或者思想有更深入的理解。
其实探索和创造并不矛盾,很多时候我们都是先探索,然后到一定阶段,发现某个框架或者工具不符合自己的要求,或者说改起来太费劲,我们就会学着去创造。创造的过程肯定会有一些思想迸发的东西,慢慢地把这个创造的东西做得更好。
其实进行对比这是人类的天性,国外稍微好点,不会说啥啥框架做了,你这个有什么优点,国内就会有这样的说法,别人都做了,你做这个有什么用,好像就是说别人做了,再做另外一个就是浪费人生一样。
很多时候,我们用一个东西,归根结底要深入到它的思想,这样才不会说他换了一个API就杯具了。就像python,python3和python2换了很多东西,但真正深入的人却没感觉有多少困难。探索->创造,感觉这是一个必然的过程,也是一个想要深入必须经历的阶段。
ulmate01
2013-08-07 13:42:46 +08:00
造轮子什么意思呢?谷歌得的不太全面,大概理解了,但是求指教。
alexrezit
2013-08-07 13:51:20 +08:00
楼主你想说的是 create 吧...
Paola
2013-08-07 13:58:29 +08:00
@zhujinliang 都用自己的框架,如何协同工作呢?
edgar
2013-08-07 15:25:03 +08:00
SR1
2013-08-07 15:32:16 +08:00
@zhujinliang 说得好,要有一颗乐于接受新事物的心,也要有一双热爱创造的手。
jesonyang
2013-08-07 15:39:29 +08:00
make 出现error 时,就爽不起来了!
leavic
2013-08-07 15:39:38 +08:00
调代码的时候爽吗?
zhujinliang
2013-08-07 15:45:26 +08:00
@Paola 我刚才回避了这个问题。

多个人共同开发的,不牛x的团队还是要用一个成熟的框架(否则各种配合的不舒服,以及带来更多的坑)。
牛x的团队而且有时间的话可以自己搞一个框架,不少流行框架就是这样来的。
或者是团队里有个牛x的人站出来说,用我的框架吧(估计会死的比较惨)。

自己凭爱做的项目,我的意见是可以随性些,让自己获得更多乐趣不更好么。


我是想表达下造轮子是个人爱好,未必坏事。更不会死板到到哪儿都非要用自己的轮子。
那次面试也让我清醒了些,感觉有些脱节了,谈到有些框架我不了解,也没有框架方面经验的积累,谈实现某些功能也不知道去哪找合适的框架。

@ulmate01
搜一下 “不要重复发明轮子”。指有的项目或功能,别人已经做过,我们需要用的时候,直接拿来用即可,而不要重新制造。
jacksonpan
2013-08-07 16:50:41 +08:00
重新造轮子是让自己了解的更清楚,而并非说要替代前人的工作,这个没有什么必要不必要的,只要你想,我非常支持你造轮子,但是一旦自己造了轮子,要坚持维护,不然就浪费资源了。
wupher
2013-08-07 16:56:09 +08:00
mvc、加载器,不会是写j2ee企业应用吧。
wwqgtxx
2013-08-07 17:47:07 +08:00
创造是人类最大的财富,支持楼主!!

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

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

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

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

© 2021 V2EX