吐槽一下国内 Java 的开源作者

2018-06-13 11:23:21 +08:00
 SoulSleep

以下可能会有 xxxxxxx...等等脏字,洁癖者请立即右 /左上角,谢谢!

昨天,我在 gitee 上刷大家的作品,欣赏 /瞻仰一下国内 Java 项目的开源力作,当然....首先看看官方推荐的吧...我们还是要相信权威不是~群众的眼光,差不了....太多.....

ctrl 了十几个 tab 后,开始挨着浏览,越浏览那画风越不对啊,nmb 这是开源的态度吗?先奉上链接: https://gitee.com/explore/starred?lang=Java 当然有几个非常优秀&&值得学习的开源软件,but 大多也是从 github 的同步过来的! 蛆虫多的一比,基本有以下槽点:

1.列了一堆 todoList 2 年没更新...推荐内容的卖点都没实现...

2.没有任何文档,README.md 就一个标题...

3.轮子造的太多,质量惨不忍睹...真的只能看看...

4.更有 nb 的上传了 tomcat/webapps/ROOT 文件夹上来,classes 满满的,谢谢啊...

gitee 开源半途而废的多了去,感觉还是习惯不好,最少也得有个最小可运行的版本再发出来吧,不少开源项目从 helloWorld 开始写,烂尾的可能性太高了。就这样还上了 gitee 推荐...osc 的红薯还是会赚钱~这点值得学习了

6523 次点击
所在节点    程序员
39 条回复
JinyAa
2018-06-13 15:41:10 +08:00
戾气
SoulSleep
2018-06-13 16:10:30 +08:00
@fatcheung #20
又是一个 u can u up no can no bb 的杠精
睁开你的眼去 gitee 的推荐项目( java 分类)瞅瞅再来 bb,垃圾就是垃圾还用洗吗?
如果你觉得那些项目 ok 的,it's ok......
OpenJerry
2018-06-13 16:19:19 +08:00
可能人家只是单纯的当网盘用呢
SoulSleep
2018-06-13 16:21:04 +08:00
@maxzhang1985 #18
义务的,是啊~遵循开原协议,tree new bee,经过你几分钟—几小时的尝试后发现,作者是在吹牛逼啊,你觉得这作者是不是个傻逼?恩???你觉得呢???

看开源项目就是开眼界,学习思路的,直接拿来用不可能的。
开源个东西,我想正常的人都希望自己的东西很牛逼、得到很多人认可,让大家拿来用吧,有“让你拿来就用了”这种疑问的人怕不是也傻逼一个?嗯?
janus77
2018-06-13 16:23:40 +08:00
gitee 的开源项目几乎都只是盈利目的,除了官方人员。
janxin
2018-06-13 16:29:59 +08:00
做开源确实是一个比较难的事情,坚持耐心缺一不可
fatcheung
2018-06-13 16:32:27 +08:00
@SoulSleep 你这么牛逼,我惹不起,给你 666。
mkeith
2018-06-13 16:33:54 +08:00
人家写的代码怎么样和楼主有什么关系呢
lskjdfgl
2018-06-13 16:43:06 +08:00
@broadliyn 就连姿势都是一样的。
MonoLogueChi
2018-06-13 17:29:31 +08:00
@bk201 gitee 大多数都是从 GitHub 上同步回来的
skyworker
2018-06-13 17:35:52 +08:00
顺便黑一下 JAVA:

就比如 print 一句 hello world 吧。main 函数里 print 一下?太面向过程,太 low 了。

得封装一个类。叫 Printer. Printer 有个成员方法,叫 print。

但是!光一个类太 low 了,以后要是有不同的实现怎么办?所以得加一个接口。PrinterInterface。

但是! interface 是没有实现的,还是要有默认实现才行。所以得加个虚拟类,AbstractPrinter 实现 PrinterInterface,然后 Printer 继承 AbstractPrinter。

但是!你有了那么一套,该怎么创建实例呢?直接 new Printer()?太 low 了,那叫实现依赖。肯定不行的,所以要搞一个工厂类,PrinterFactory,PrinterFactory 用 PrinterInterface 返回实例,这样就隐藏了实现细节了。

但是! PrinterFactory 本身也是实现类啊,太 low 了,所以得有 PrinterFactoryInterface, AbstractPrinterFactory.

而且在 PrinterFactory 里面该怎么写呢?直接 new Printer()? 太 low 了。还是实现依赖。

最后,你要把这一堆玩意在代码里组装起来,也太难看了,各种 new 实现类。太 low !

好在我们有个高级玩意,叫依赖注入!把程序对象结构全写到配置文件里面。这一套当然是不能自己造轮子的。配置 Spring 吧。搞了那么多 lib,靠命令行或者 IDE 的项目管理肯定不够啊,得有依赖管理。Maven 啊 Gradle 啊使劲上。

最最后,要 print 的东西怎么传给程序呢?硬编码?命令行传参数?太 low !当然得写在 XML 里头。

光是 XML 当然还不够企业级,再加上 DTD 验证吧。

然后就涉及到了 XML 解析的问题了。代码里直接操起 parser 吗?太 low! 当然要写个 parser 的包装类,interface, abstract class, implementation class, factory class 再来一套。毕竟,不能依赖实现啊,以后我要是换 parser 了怎么办。

所以最后是成品是一堆配置文件,一堆 jar,compile 出来的程序 200MB。

IDE 得装上 300 个插件,打开项目硬盘响老半天吃掉 2GB 内存,然后一堆插件弹提示要求升级。

哦对了,在这一切发生之前,还得画 UML 图呢。
demotu
2018-06-13 17:48:21 +08:00
我看到一些好的项目,只不过后台就闭源,国人比较注重技术变现。
patx
2018-06-13 17:50:08 +08:00
吐槽到点子上了
zsx
2018-06-13 17:50:58 +08:00
前几天查一个脚手架,gitee 上某个项目很符合我的需求,然后下载下来发现无论是数据库字段还是代码都是一坨屎;后来发现这玩意文档收费,还是所谓 GVP 项目。
aino
2018-06-13 17:58:45 +08:00
我认为 至少敢于分享出来代码就很不错了,你这样喷,让我这种小白还怎么敢去尝试?
yanhejihe
2018-06-13 19:48:58 +08:00
@aino #35 LZ 吐槽是推荐。比如你发现有 10000star 是个小学生作业,然后排名前几个还都是这个类型,而且还得收费!?当然就去吐槽。我也在用 gitee 的私有库,觉得还不错。但在上面浏览过一些推荐库,我的感受是:维护性很低,功利性较高。
notreami
2018-06-13 20:03:25 +08:00
@skyworker 顺便黑下软件工程+敏捷开发+产品经理+商务+销售吧,写个代码还讨论啥,拿起键盘就是一把梭。
jiqing
2018-06-14 02:58:48 +08:00
前几天 v 站不是有个开源作者吐槽国内哪家代码平台,没打招呼直接从 GitHub 上复制了项目,上传者还是和 GitHub 账户同名,虽然开源协议允许,这样干实在不合适
那么问题来了,关 Java 开发者什么事
maxzhang1985
2018-06-14 10:57:38 +08:00
@SoulSleep 开源作者没有义务做到你说的这些,如果开源是拿来主义,这本就违背了开源精神,运营一个开源项目是多么困难,是一个喷子永远无法理解的。

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

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

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

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

© 2021 V2EX