最近的 Java 项目之感想

2017 年 11 月 16 日
 assad

最近接了两个小活,都是 Web 项目,客户指定 JAVA

基本采用的 SSM 以及 Srping Boot,总体感觉。

JAVA 的写法,还是太啰嗦,一堆 set,get,一个类里面,净是 get,set 了

持久层的 mybatis,感觉基本就是手写 SQL 了,因为项目较小,没有复杂的表连接操作,所以感觉使用 mybatis 是有点用错了。把 sql 写到一个 xml 文件里,项目 SQL 非常多的话,可读性就差的很了。我真想说,挫,挫,挫。不会写 sql 的,就完犊子了。

部署,因为很不喜欢 Tomcat,但是 Java 的开发人员选用了 Tomcat。客户提供的运行环境是 Windows,部署就花了半天,不是这个问题,就是哪个问题。JDK 版本不一致,JVM 内存不足无法启动,启动时间及其慢。我想,这要是 PHP 或者 Python,那是分分钟的事啊。Java 部署怎么这么难。写项目的这个哥们还是个 5 年经验的。

然后因为最初写项目的哥们要离职,交接项目,新来的哥们是个 6 年经验的。结果前面那哥们的项目,git 上 down 下来,愣愣是折腾了大半天,才把项目跑起来。我就想,至于么,别人的项目代码,别人想要跑起来,也不至于折腾这么长时间啊。

最后,项目预上线,客户不停提出修改页面啊什么的

每次修改完,都要重新部署。我的个哥,痛苦异常。就是改了模板上一个简单的标签,得,重新部署。

难道不痛苦么?好痛苦啊。我对 JAVA 一直没好感,严谨导致啰嗦。各种规则,各种乱七八糟的玩意。

哎,人生苦短,我用 Python。还有我的 PHP。

一家之言,大家轻喷。

19390 次点击
所在节点    程序员
142 条回复
gejun123456
2017 年 11 月 16 日
可以试试
https://github.com/gejun123456/MyBatisCodeHelper-Pro
一键生成 mybatis 的 sql
Sharuru
2017 年 11 月 16 日
Lombok 能省去的不仅仅是 getter / setter。

还永远没必要看的代码...怕不也是个五年经验大佬
nicevar
2017 年 11 月 16 日
@NeinChn 你没看楼主说的是接了两个小活,推荐 Lombok 没什么不对,如果有脾气 IDE 不想装插件照样能开发,就看自己有没有那个心态忍受,另外你对 Lombok 认识估计认识也不深,这玩意对小公司好处很多,比如同时开发 android 和 iOS 客户端用了 kotlin 和 swift 之类的,直接省去大量敲那些死代码时间
notreami
2017 年 11 月 16 日
好无聊,加入黑名单了
clearbug
2017 年 11 月 16 日
看了楼主说的,我这种 java 菜鸟都想骂人了,,
incompatible
2017 年 11 月 16 日
@NeinChn 大团队照样用 Lombok 的。我们公司工程师上万人,Lombok 用的很普遍。
话说 IDE 装插件有什么问题吗?集成 tomcat 这种应用服务器做调试要不要装插件?集成 git 功能要不要装插件?公司搞了个代码格式强制检查的插件你要不要装?
我认为 IDE 提供插件功能就是让人拿来用的,为 Lombok 装个插件没什么大不了的。

且 Lombok 能节省的时间成本绝对不是 0,每写一个实体类至少能+1s。你可以想象一下上万人的工程师团队每年通过使用 Lombok 可以+多少 s,这个是不容小觑的。
guoziyan
2017 年 11 月 16 日
你们开发姿势不对
tinyuu
2017 年 11 月 16 日
楼主是手写了 N 多 get set 写类类吧 。
Acheron
2017 年 11 月 16 日
很明显是你自己的原因,而不是语言的原因
mooczz
2017 年 11 月 16 日
偏见蒙蔽了你的双眼
ruanjf
2017 年 11 月 16 日
就 get set 也可以直接用快捷键
a68UkLHpycW7ImyV
2017 年 11 月 16 日
你都不懂 Java,还接啥 Java 项目啊,只会让开发更痛苦
bobuick
2017 年 11 月 16 日
人家 mybatis 就是为了把以前 H 家 ORM 的黑盒未知,搞的更让程序员把控一点。结果还被你黑了。 =。=
smartdie
2017 年 11 月 16 日
从 python 转到 Java 来,真是觉得 python 项目的很多做法是自己造轮子。Java 的库太多了,还有官方维护。
1oNflow
2017 年 11 月 16 日
挺喜欢 Java web 的,尤其有 Spring 这个大杀器,代码结构功能清晰,即使看上去繁琐量大,搭配 IDE 其实需要输入不多。
getter setter 用注解不是很方便吗,我用 JPA 一行 SQL 都没写过,个人项目目标也是全 Java 配置,不喜欢 xml。
ooTwToo
2017 年 11 月 16 日
@NeinChn 同意,Lombok 一时爽而已。 用 IDEA 快捷键一键生成 getter/setter 不好么。。
zjsxwc
2017 年 11 月 16 日
为什么不用 golang 写, 说实话, 就算有 docker 部署, python 与 php 部署也有点麻烦的
NeinChn
2017 年 11 月 16 日
@incompatible
你得敲个 annotation 吧,就算是 class 上也得打个 @xxx
我 IDE 自动生成也不过就是几秒钟的时间
而且对于程序员来说,写代码的时间绝对不是大头,毕竟比机器更难处理的是人,沟通才会占用大量时间
退一万步,这个能节省几秒钟,意义在哪.一年能写几个 bean,几百个?几千个?
相比之下,省略 lombok 带来的是入门更简单,新人来了下个 IDE 开箱即用,当然其实这个也站不住脚,毕竟一年也没几个新人
不过确实在环境使用上更通用一点

另外 Tomcat/Jetty 早就不需要手动集成插件了,用个 mvn plugin 直接跑完事,反正都是测试
VCS 都是现代 IDE 自带,用 vim/emacs 的大神不考虑,而且个人用命令行更多,IDE 的 VCS 反而不用,真的复杂操作我也用 source tree
ZhLTE
2017 年 11 月 16 日
@Tuisku 7.0 不需要 getset 了 haha
zengyuxi
2017 年 11 月 16 日
Java 后台的那套逻辑,不就是 ssh/ssm,各种 Copy 改吗? 5,6 年如果一直局限的话,其实和 1,2 年的经验,没太大区别! (逃...)

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

https://v2ex.ih06.com/t/406805

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

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

© 2021 V2EX