何谓过分使用开源项目

2016-04-06 23:52:36 +08:00
 sampeng

题目有点文不对题,但方向大概类似。 昨天看一则新闻, nodejs 一个基础库出问题,引起几千个开源项目的不能工作。 这个基础库只有一个函数,好像是翻转字符串还是什么,没记得太清。

以前有过面试官的工作,来的 10 个里面 9 个不知道项目中使用中的开源项目是如何工作的。。。

如 Android 的 ImageLoader

如 js 的 Angular

如 php 的 laravel

这几个例子其实并不是太好,因为有点大,很多属于框架的范围。但实际上在开发过程中,有些懒得想的问题,真的是条件反射就上 github ,不仔细看文档,直接跳到安装和使用。

细思极恐的事情,用多了开源。脑子跟着木了。。。这会产生惯性的。

不是所有人都会把用过的开源项目精读之,我也只有用到某个接口了才跳转进去看看怎么实现的。仅限手头事完事了。。

不知道各位有没同感。

很矛盾的一件事,用开源,因为项目实在太紧,老大需要炫酷吊炸天的效果时间还给的很短。但这基本浪费了多年的开发精力。。同一件事做旧了,有种搬运工的感觉。不用开源。。。。家。。里。。等。。着。。开。。锅。。。

5353 次点击
所在节点    程序员
32 条回复
strwei
2016-04-06 23:54:33 +08:00
懶人太多,依賴心裡嚴重,明明可以自己動手寫的東西
sampeng
2016-04-06 23:56:23 +08:00
@strwei 小功能模块不至于,主要是稍微大点的解决方案之类的。。。自己写吧,造轮子。。不自己写吧,心里不平衡。。
roychan
2016-04-06 23:59:00 +08:00
对这个问题观点很复杂,就是总是无法决定到底什么时候该用框架,什么时候该动手造轮子。
sampeng
2016-04-07 00:01:14 +08:00
@roychan 或许可以缩小点,不是框架。而是类库模块之类的。如权限功能模块啊,下载模块之类的。。。框架太大。不想写框架的程序员不是好的程序员。。。我的例子举的有点差。
sampeng
2016-04-07 00:04:14 +08:00
而且有个很有意思的现象,就是造出来的轮子,没问题还好说。一旦有问题,私底下就会开始传。你看, XXX 居然连开源项目都没用。开源项目多稳定。甚至没问题时也会。。。至于为什么,有过这个现象的人自然明白。。
dphdjy
2016-04-07 00:09:15 +08:00
至于 nodejs 模块问题这是一种思想,每个模块只实现自己负责的部分,这样看起来一小部分人维护的小项目,实际有 n 位 dalao 在后面维护各种库,只要一个被依赖项目发现坑反馈解决会对整个社区项目产生正向作用。

而引用开源库不看实现
1. 理解这个库对我是否有除了这份工资以外的意义
2. 是否愿意投入这种可能对有用的问题上
3. 是否有能力理解并优化这些开源库
之类的一系列问题

简言之: 短期最优方案或者懒

以及造了一些轮子发现效率底下,代码混乱,别人的开源库质量高,慢慢就不造了,自然特殊需求还是自己牺牲效率造。
holinhot
2016-04-07 01:00:44 +08:00
php python 都是开源吧。你能不用吗
chinvo
2016-04-07 01:07:30 +08:00
关于“开源项目是如何工作”问题,我个人认为,

如果只是追求“做完工作”,那么没必要了解太多细节,了解太多细节反倒影像工作效率;

如果追求“做好工作”,那么又分两种层次,一种是将第三方库作为黑盒看待,优化自有逻辑和数据结构,另一种是追求整个项目包括库的优化。
dreampuf
2016-04-07 01:40:58 +08:00
66450146
2016-04-07 02:02:19 +08:00
如果你是一个开源软件的最大用户,而又不是它的最大代码贡献者,你很可能有些事情做错了
murmur
2016-04-07 07:56:11 +08:00
了解底层工作细节那是面试的时候用的 因为现在的培训班分分钟让你背下来最新框架的特点 叫你虚构项目 不问太底层的没办法
所以现在面试一面都是。。细节
expkzb
2016-04-07 08:23:57 +08:00
是不是要从头打造一个操作系统才放心呢?
Pastsong
2016-04-07 09:39:32 +08:00
要不是因为有懒人你们现在还在码汇编呢
domty
2016-04-07 09:53:08 +08:00
精力问题吧
好多时候用轮子是因为轮子省事方便,而且性能要比自己粗糙的写一个好的多。我会大致了解原理,但是说实话没多少精力去了解细节实现,除非这块出现了什么严重的问题导致我不得不选择换轮子或者针对源码做修改。
库这种东西本来就是为了完成实现并且隐藏细节的,看文档什么的比看代码找细节方便多了
wxl1380610
2016-04-07 10:14:12 +08:00
快才是王道,老板不会关心你用不用轮子,只关心你多长时间做完。
v3aqb
2016-04-07 10:24:56 +08:00
只要用了就是过分用
zingl
2016-04-07 11:13:57 +08:00
LZ 说的这些事跟开源有什么关系?
robinWu
2016-04-07 11:30:38 +08:00
我承认:我不是大牛,我只是 github 的搬运工。。。
odirus
2016-04-07 11:35:31 +08:00
Google 就是 IDE , github 就是 libraries
Lucups
2016-04-07 11:36:27 +08:00
“过分” 应改为 “过度”

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

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

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

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

© 2021 V2EX