当前位置:编程学习 > JAVA >>

吐槽JAVA垃圾的设计,提高你们的工作效率,还有一堆垃圾模式!!JAVA要亡啊!

本人常用C/PHP 开发东西,最近接手一个JAVA的WEB工程,里面用到一些流行框架,什么STRUTS SPRING HIBERNATE等等。

在工作的过程中,发现几个问题,恶心死我了。

JAVA给的感觉就是,不能把全部心思放在业务上,一天到晚研究框架,配置,还有莫名其妙的错误,还有垃圾的调试以及他二舅的他妈的爷爷的奶奶!
如果一个团队能把重心放在业务上,不要研究这时髦的狗屎,那该多好啊!
每天都会说:“今天真是有意义的一天呐”;


1,JAVA最主要体现面向对象思想,可是这TNND也太变态了吧!
各种东西封装起来,调试的时候竟然还要自己写方法把东西解封,然后输出(不知道是网上的人不知道输出方法还是JAVA压根就没有这些调试输出的!!)

与PHP相比较,真的不如一个 var_dump()好用, 不管任何类型的全部都能输出。
JAVA MAP 写一个MAP解封,如果是多层封装,还要一个一个的根据封装过程写解封,太恶心了!

2,什么框架整合?都是浮云垃圾狗屎!
整你妹啊,STRUTS SPRING ,都是MVC ,整你大爷的,一堆配置文件,看得头晕!!
就不知道这正起来有毛用? 一天到晚就研究这垃圾整合了,还有什么版本冲突!
代码复用? 减少代码重复性? 有什么意思?啊? 
这重复性高怎么了?就算我不复用能占几个内存?啊?
就算你内存不足,不好好像办法控制数据在内存的容量,优化一下内存存储结构,竟然来减少程序代码?
明确的说,这点破程序能占几个内存啊? 能和数据占内存的容量比?

3,什么内存持久化? 这干什么的? 你写的程序好像不在内存里放的一样,非得加个STATIC 才能放入内存?加快读写速度?? 这个STATIC我没研究过,估计充其量就是一个堆栈数据, 和寻址取数据能差别多少?
不过这里不要误人子弟 
static 其实不用NEW了,不会在内存新开空间!
我这里是说那些框架,持久你大爷的。

4,关于调试方面。 
这个是个人问题,不喜欢用IDE, 一般都是输出调试或者GDB ,受不了在ECLIPSE里看对象内容,受不了断点!真不知道这JAVA的TOSTRING 函数是那个SB 设计的, 输出对象名来了, 偶尔才能输出点调试信息,那这个TOSTRING有球毛的用。

5. get set函数 
 这里是在指大多数傻X公司 傻X项目经理,除了OO(面向对象)傻也不知道了,
弄一堆BEAN,里面全是 GET SET 还有一堆 PRIVATE 变量,
GET里全是 RETURN THIS.XXX SET 全是 THIS.XXX=XXX;
项目开始,更新到了2.0, 里面还是啥也没有,
而且每个项目还全是BEAN设计的。
我这不明白,你大脑秀逗了?
这里没有说BEAN不好,我只是在说那些垃圾的设计人员,
一堆GET SET里面是 球也没有,弄啥了?啊?



大概说完了,还有好多一时没想到的,我说的不对的地方请大家狂拍砖!!!










java struts spring 吐槽 JAVA垃圾 --------------------编程问答-------------------- 补充一点,用JAVA让我这大半夜的过来吐槽,浪费时间!!! --------------------编程问答-------------------- 所谓的“业务”就算你资质平平,玩两年也就到瓶颈期了,充其量一个数据库精熟。

直辖市的医卫平台和某药的ERP我都做过,有什么“业务”?

公式算法,流程规定不是你写的,数据流图不是你画的,业务建模和数据建模都没你的份,一个翻译而已,装得二五八万似的。

1,4 无非一个不会调试而已,打印控制台是菜鸟阶段的用法,遇到一个查询动不动几十个条件参数你一个一个打?

2 框架你不愿意用可以不用,JSP+Servlet+JDBC足够开发了,框架自有其使用范围,自己找别扭你赖谁?

至于剩下的语法,模式上的问题,任何一门语言的设计者都不比你差,这些东西对你说等于对牛弹琴。

当然Java肯定要亡,难道一门语言能和人类共存亡?它存活到我退休就够了。 --------------------编程问答-------------------- --------------------编程问答-------------------- 第一句话就看出了端倪 老兄你经常用C/PHP开发 最近才接受Java web 项目 就思维习惯上来说 有个适应阶段 另外 打断点是很有效率的调试方法(至少我认为在Java里是这样的)  --------------------编程问答-------------------- 浏览了下,楼主对java基础知之甚少 --------------------编程问答-------------------- 楼主月薪多少? --------------------编程问答-------------------- lz口口声声说java垃圾,估计天天还在玩android手机。 --------------------编程问答--------------------        精通了都一样 --------------------编程问答--------------------
引用 2 楼 forgetsam 的回复:
所谓的“业务”就算你资质平平,玩两年也就到瓶颈期了,充其量一个数据库精熟。

直辖市的医卫平台和某药的ERP我都做过,有什么“业务”?

公式算法,流程规定不是你写的,数据流图不是你画的,业务建模和数据建模都没你的份,一个翻译而已,装得二五八万似的。

1,4 无非一个不会调试而已,打印控制台是菜鸟阶段的用法,遇到一个查询动不动几十个条件参数你一个一个打?
……

这个东西是我们公司买来的,我负责二次开发的,肯定流程啊,建模之类的都不是我弄得。
我是菜鸟一只,打印是最直接最简洁最有效的方法,我不想把我的时间浪费在学习IDE上, 我只试过VC的调试,每个对象还需要设置类型,封装几层,每层类型都要写清楚才可以查看。真的不如PHP的VAR_DUMP。
还有一个个人问题,我电脑太烂了,分辨率最高1024,看eclipse难受的要死,更不想看调试界面。

我这说的无非是让思路多钻研流程,业务,不去研究这东西。
最让我受不了的就是我在myeclipse删除个文件,竟然删除不掉,我还得退出,删除了,再打开才能用。





引用 4 楼 LazyMan1989 的回复:
第一句话就看出了端倪 老兄你经常用C/PHP开发 最近才接受Java web 项目 就思维习惯上来说 有个适应阶段 另外 打断点是很有效率的调试方法(至少我认为在Java里是这样的)

我用C开发的话,不涉及到指针内存方面,一般不用断点调试,太没效率了。




引用 5 楼 ticmy 的回复:
浏览了下,楼主对java基础知之甚少

请赐教。




引用 6 楼 IceArmour 的回复:
楼主月薪多少?

不好意思,年薪50多个。



引用 7 楼 fangmingshijie 的回复:
lz口口声声说java垃圾,估计天天还在玩android手机。

手机诺基亚100元的。 --------------------编程问答--------------------
引用 8 楼 lwwit 的回复:
精通了都一样


我是认为JAVA是把简单的事情变复杂。 --------------------编程问答--------------------
引用 9 楼 tsenable 的回复:
引用 2 楼 forgetsam 的回复:所谓的“业务”就算你资质平平,玩两年也就到瓶颈期了,充其量一个数据库精熟。

直辖市的医卫平台和某药的ERP我都做过,有什么“业务”?

公式算法,流程规定不是你写的,数据流图不是你画的,业务建模和数据建模都没你的份,一个翻译而已,装得二五八万似的。

1,4 无非一个不会调试而已,打印控制台是菜鸟阶段的用法,遇到一个……

50多个K?W?亿?
如果是K,那我只能呵呵。
如果是W,最起码到资深架构师的水平了吧?资深架构师仅仅关注语言?仅仅关注框架?框架的目的是什么?Java仅仅就是框架?既然如此淘宝为什么还要从php转java呢?不加研究说这种话,通篇都是论点只能说你是一个领域的大牛,而不能纵观全局吸收别家之长,以后什么项目都用你PHP一统江湖好了
如果是亿,你赢了 --------------------编程问答--------------------
引用 11 楼 IceArmour 的回复:
引用 9 楼 tsenable 的回复:引用 2 楼 forgetsam 的回复:所谓的“业务”就算你资质平平,玩两年也就到瓶颈期了,充其量一个数据库精熟。

直辖市的医卫平台和某药的ERP我都做过,有什么“业务”?

公式算法,流程规定不是你写的,数据流图不是你画的,业务建模和数据建模都没你的份,一个翻译而已,装得二五八万似的。

1,4 无非一个不会调试而……


话是说得有点狠了,昨晚把我给气的,其中有很多原因,对JAVA的不了解,对IDE不了解等等.
我这从很多方面考虑,从设计的时间,执行时间,成本等等.
淘宝从PHP转JAVA可以,而我们小公司不可以.
淘宝有很多开发人员,为了保证代码质量,使用复杂的构架,更好的分离各个业务,满足多达几百人的开发团队,
但是!,对于我们这些小公司,开发人员10来个,用这么庞大的东西,真的有点吃不消.
就和用奥拓,哪怕奥迪的发动机去拉斯塔尔这个庞然大物,很吃力,损耗大.
奥迪好,斯太尔也好,只是用在不同领域,不同时间.

我们用JAVA,就是拿斯太尔去拉几个人, 没有必要,废油!
--------------------编程问答-------------------- 尊重楼主的想法和抱怨,但抱怨只能证明您还处于愤青阶段,而不是奋青。
您就当java是垃圾,不过您认为java垃圾与java到底是不是垃圾是两码事,有一句话也许您没有听过,“垃圾无非是放错位置的财富”。 --------------------编程问答--------------------
引用 11 楼 IceArmour 的回复:
引用 9 楼 tsenable 的回复:引用 2 楼 forgetsam 的回复:所谓的“业务”就算你资质平平,玩两年也就到瓶颈期了,充其量一个数据库精熟。

直辖市的医卫平台和某药的ERP我都做过,有什么“业务”?

公式算法,流程规定不是你写的,数据流图不是你画的,业务建模和数据建模都没你的份,一个翻译而已,装得二五八万似的。

1,4 无非一个不会调试而……
一般说个都是东北人,50多个只是50多万 --------------------编程问答-------------------- 1、调试问题,也有从面向过程到面向对象的阵痛期的原因。
2、我也不喜欢框架,个人认为学习一个足够复杂的框架是在浪费时间,除非他能解决我不能解决的问题。关于代码复用,我只能说这个问题比你想象的要复杂的多,还真不是几个内存的事。
3、这问题在1和2中已经存在了。
4\5、toString只打印地址还有bean里沙也没有那是编这个系统的人的问题,这能说明他们的系统没有经过严格的测试,标准的java代码这些都是有的,该有什么都是有规范的,绝不仅仅是get set和内存地址。

另外我不同意2楼说的,我也做过很多项目,就算我只是个开发人员,对于流程优化的意见那些甲方中层领导从来都是虚心接受的,我至今没见过一个中层领导对真正的流程问题视而不见的,不过业务上的问题能到设计和开发那只能说明前面的工作做得不够,但这不可能永远都能避免。
--------------------编程问答-------------------- lz能拿这年薪相比水平也是大师级别,
 java而言都各有各的领域以及优势之处
虽然你的其他方面学的好
为什么不想想现在这么多人都在学java的可用之处,
每个语言都有他的特色之处
机器语言汇编哪些到面向过程以及现在面向对象面向切面编程
--------------------编程问答--------------------
你框架做好了,业务层和表现层几句代码就能从数据库到输出一个json数组只需要一句或3-5句代码。
甚至很多实体的增删查改方法都不用重写,直接继承就可以用。

比如说,我要在页面上 输出一个带分页的 用户信息列表 。
只需.
1,建立用户实体.(通过数据库自动生成)
2.建立业务类 (直接继承父类通用方法,一句代码都不用)
3.建立action (直接从抽象父类继承模板方法)
4.重写列表输出方法。(无特别要求,一句代码即可)
5.对接页面列表模板。(tree表格,属性表格,普通表格任选)
6.搞定。 
整个过程最多也就20-30分钟。

以上过程如果规范定制好了,就可以写成一个代码自动生成工具。建立一个数据表,直接生成以上的全部代码。
几分钟搞定。

再者,更上一层就是快速开发平台。
我在以前公司用过的,就是建表,做表单。写一句列表目录sql。然后搞定。(复杂的就写复杂sql,一般不需要去搞JAVA代码)


如果PHP也能这样,那当我没说。 --------------------编程问答-------------------- 楼主的无知让我这个做多年J2EE开发人员表示楼主太TM2了。 --------------------编程问答-------------------- 存在必有他的理由,而且java的发明人,包括Spring的作者等等都是其他语言的如C C++的大师级的人物,也没见他们发过如此的感慨,我对楼主表示,你也只能算是一个码农而已,就算你拿50个亿。 --------------------编程问答-------------------- 还有我想说,如果没有java,这世界上还是会失去不少美好的东西 --------------------编程问答-------------------- 框架用不好,怪框架不好
java用不好,斥java垃圾
女人玩不了,岂不是女人有罪。 --------------------编程问答-------------------- 毛泽东说:好好学习,天天向上 --------------------编程问答-------------------- 发个贴找骂,这又是何苦 --------------------编程问答-------------------- 同情LZ。。。 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 2 楼 forgetsam 的回复:
所谓的“业务”就算你资质平平,玩两年也就到瓶颈期了,充其量一个数据库精熟。

直辖市的医卫平台和某药的ERP我都做过,有什么“业务”?

公式算法,流程规定不是你写的,数据流图不是你画的,业务建模和数据建模都没你的份,一个翻译而已,装得二五八万似的。

1,4 无非一个不会调试而已,打印控制台是菜鸟阶段的用法,遇到一个查询动不动几十个条件参数你一个一个打?
……


说得好! --------------------编程问答-------------------- Java之王,快要登场了..... --------------------编程问答-------------------- 其实java并不差,而是楼主对java不熟悉才这样吧, 你用的是c和php多, php语法是太简单了,做事也方便, 不过还是功能不够齐全.  

java很强大很知识点很多, 并不是你凭着几个语言的相通就能随便就能拿来做事情的. 还需要花点时间来学一下的.  

--------------------编程问答-------------------- 除了批那个 3 个框架我赞同之外。

其它的。。。LZ 你不适合学 Java --------------------编程问答-------------------- --------------------编程问答-------------------- 淡定。。 --------------------编程问答-------------------- 。。。。。。哎。。。 --------------------编程问答-------------------- 楼主看过算法导论吗? --------------------编程问答-------------------- --------------------编程问答-------------------- 同意。顶楼主。 --------------------编程问答-------------------- java是很深奥的  活到老学到老 低调些... --------------------编程问答-------------------- 看了这帖子,觉得很happy,楼主这样的认知就能拿50万,我觉得我的前途还是很光明的。 --------------------编程问答--------------------
引用 2 楼 forgetsam 的回复:
所谓的“业务”就算你资质平平,玩两年也就到瓶颈期了,充其量一个数据库精熟。

直辖市的医卫平台和某药的ERP我都做过,有什么“业务”?

公式算法,流程规定不是你写的,数据流图不是你画的,业务建模和数据建模都没你的份,一个翻译而已,装得二五八万似的。

1,4 无非一个不会调试而已,打印控制台是菜鸟阶段的用法,遇到一个查询动不动几十个条件参数你一个一个打?
……
说的话! --------------------编程问答-------------------- 最让我受不了的就是我在myeclipse删除个文件,竟然删除不掉,我还得退出,删除了,再打开才能用。
是盗版的就不要提了。

模式是为了变化发生时,代码尽可能不变,也让复杂的问题简单化而生的。
如果只是简单的工程,过程式方式是很直观,但是当面对变化无穷的各种项目时,模式,框架的优势就体现出来了。
框架可以把你从一些细微的,冗杂的,体力活的代码中解救出来。
当然,用得好就好,用不好就另当别论 --------------------编程问答--------------------
鉴定完毕 --------------------编程问答--------------------
引用 36 楼 andy_swc 的回复:
java是很深奥的  活到老学到老 低调些...

+++ java开发 --------------------编程问答-------------------- 回帖拿分,个人问题,鉴定完毕。多看看java 你的人生观就会改变,别整天玩个人主义。 --------------------编程问答-------------------- 你觉得框架是个负担,是因为你不了解框架。其实一旦一个框架搭好了,团队在这个框架内能够更加省力省心地解决问题,能够更加集中精力解决业务问题。当然前提是这个框架要搭得好,搭得合理,否则还是一个负担。

封装是个好东西,我在程序里就很喜欢封装。面向对象使人用更接近人的思维方式来考虑现实世界的业务问题。别人已经封装好的东西,了解它的功能,然后直接拿来用就是了,楼主您老人家何苦还要去解封?就象你买个电动剃须刀,你只需要装上电池按下开关就可以剃须了,难道你要把它打开观察好它的工作原理再来使用吗?当然如果对方封装得不好,或者封装处理有错误,就另当别论了。

代码复用的根本原因不是为了减少系统总的代码量,对一个系统来讲,代码再多也是人写的,你多复制几次代码能多出多少代码出来?问题是,如果重复代码太多,维护起来是件很吃力,并且风险很大的事。比如你把一段逻辑代码复制到10个类似功能的模块中,而某天发现这段逻辑其实有一点错误,你就必须要修改10个地方的代码,但是请问你还能记得起你当初把这段代码复制到哪些地方了吗,更有甚者,如果这10个模块的维护工作交给了另外3个程序员接手呢?这时你有可能只修改了7个地方,还有3个模块没有修改,错误被隐藏起来,留下了隐患。

get, set 方法你也抱怨,说明你还没有接受java。如果觉得麻烦,my eclipse 是可以给你自动生成这些方法的。另外,使用 get, set,是为了私有变量不会非法访问,或者在有必要的情况下进行转化。比如一个人的年龄不可能为负数,不可能大于200,如果直接访问对象的私有变量,调用者传入非法参数时,不会被检查到,而如果使用 set 方法,则可以在方法内判断参数的合法性,比如当年龄小于0时,抛出异常。 --------------------编程问答-------------------- 没有垃圾的语言  只有用的不对的地方  和  方式

--------------------编程问答-------------------- LZ 是来群嘲的。  --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 1、很多混日子,靠几年经验和无耻的关系网也拿到不菲的待遇。我周围这种垃圾多的是!
2、真正的技术牛人会在乎语言之间的差异吗?“一通百通”难道是凭空产生的?
3、过程化思想转不到面向对象可以理解;
4、代码不具备复用性、不易维护,除非你的产品生命只有半年;
5、为何不见国内的大牛弄出一个成功的语言,别对我说“易语言”!
6、真有本事直接辞职,反正现在年薪早已50+,这份不低于这待遇的工作对牛人而言没有任何难度;
7、本人不觉得Java是最牛的,同样也不认为C、C++很了不起,存在则有价值。Java再怎么牛也无法开发驱动,C++再怎么牛开发B/S就一垃圾(别说CGI,除非只写一次性的垃圾代码)。还是那句老话,无论什么语言、无论什么技术,能存在这么多年,必然有他的价值。
8、本人初次回帖,若有不妥望见谅。作为程序员,没必要抱怨设计者,多找找自身的原因。 --------------------编程问答-------------------- 2货你再喊我放旺财咬你了 --------------------编程问答-------------------- 你说myeclipse里删不掉东西.那是你用得盗版的....版本问题.
你花钱弄个正版的试试.... --------------------编程问答-------------------- 除 --------------------编程问答-------------------- java我用了有年头了。。 对于lz的说法 一下内容很赞同。
“JAVA给的感觉就是,不能把全部心思放在业务上,一天到晚研究框架,配置,还有莫名其妙的错误,还有垃圾的调试以及他二舅的他妈的爷爷的奶奶!
如果一个团队能把重心放在业务上,不要研究这时髦的狗屎,那该多好啊!
每天都会说:“今天真是有意义的一天呐”;”

。。。
java的一些思路是 太过。。。尤其是现在框架泛滥。。。
。。。

当然 对于lz 不理解 bean 中getset是开发规范的写法。我只能说lz确实没有java基础。

--------------------编程问答--------------------
引用 40 楼 Yao__Shun__Yu 的回复:
鉴定完毕

打个比喻,LZ就像一个开了很多年摩托车的骚年,突然有辆宝马给他开,他坐上去开了一转,下来就说TM这破车连小巷都进不去,TM的这破车油门和刹车还要分开来踩,TM的这么好的阳光坐里面晒都晒不了,TMD就一破车。 --------------------编程问答-------------------- 让我想起一个笑话~某女对某男说,如果你能让CDNS论坛上的人闹的吵翻天了,我就跟你走. 然后某男来发了这个帖子~ --------------------编程问答--------------------    我不是来喷的,学习一门语言首先不要有抵触情绪,这是前提。。。
    每一种语言都是一个时代的结晶,是为了解决某一种特定的问题而产生的,五角大楼为了解决大数据处理于是COBOL问世了,C语言也是在开发unix操作系统的时候由B语言改变而来,而JAVA是网络互联下的产物,她让当时的网页“动”了起来,每一种语言都预示一个时代的进步。
    配置文件其实就是一个流程的问题,如果了解SSH的工作流程配置起来很简单,所以不要抱怨去了解他们的工作流程。很多人刚接触SSH框架的时候认为这些配置文件很烦琐使框架更难使用,但事实却是为了为了使框架更简单和灵活才有了配置文件。
    再说说调试的问题,JAVA的调试一般不会使用打印控制台这样的方法,我想其他语言也是一样的,至少我使用过的C和Objective-c的调试不会使用。一个很直接的原因是无论Sysout.out.print(),printf()还是NSLog()输入的都是value值,而更多的时候我们关心的并不仅仅是value值比如hash,状态和动态的改变value值。eclipse有debug使用,好好使用debug而不是print。
    最后说说IDE,个人觉得eclipse蛮好用的。插件,项目控制,发布,自动提示都很不错。eclipse已经让你焦头烂额了,让你使用X-CODE开发MAC程序你就更加得不适应了。 --------------------编程问答-------------------- 为什么只有这样的贴,回的人才多。。。。 --------------------编程问答--------------------
引用 53 楼 PK0071 的回复:
打个比喻,LZ就像一个开了很多年摩托车的骚年,突然有辆宝马给他开,他坐上去开了一转,下来就说TM这破车连小巷都进不去,TM的这破车油门和刹车还要分开来踩,TM的这么好的阳光坐里面晒都晒不了,TMD就一破车。

你这比喻完全 就是胡说。。按照你这样说。。。 python岂不是 高智能方程式赛车了。。。。
--------------------编程问答-------------------- 我靠,能拿50多万?难道工作已经十年了?还是选对了行业?还是选对了公司?还是其他? --------------------编程问答-------------------- 只能说LZNB --------------------编程问答--------------------
引用 41 楼 lyh_974056553 的回复:
Quote: 引用 36 楼 andy_swc 的回复:
java是很深奥的  活到老学到老 低调些...

+++ java开发

没有垃圾语言,只有不会用语言的... --------------------编程问答-------------------- php来bs java --------------------编程问答--------------------
熟能生巧。。 --------------------编程问答-------------------- 本人一直java开发前段时间跟着公司一个搞php的做php开发,那真TM真是恶心!所以说这就好比自己的家乡和别的家乡比一样!在怎么比都感觉自己家乡好! --------------------编程问答-------------------- 看来鸟枪换炮行不通哈,LZ还是扛枪去吧. --------------------编程问答-------------------- Java必死无疑,你们都别用了,我一个人用就行了 --------------------编程问答-------------------- 以前写C的时候,没有java这样丰富的可用资源,以前解析个xml都会要人命,所以C开发对程序员要求很高!
现在的java虽然说很多可用资源,但是积累这么多年的财富,不是谁能一口吃下去的,楼主估计愤慨的是自己在C方面积累多年的财富,到了java的地盘一毛也用不上所以不满! --------------------编程问答-------------------- 。。。
论坛里面的孩子都很单纯啊
这丫明显是一个骗回复的 
补充:Java ,  非技术区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,