V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
assad
V2EX  ›  程序员

最近的 Java 项目之感想

  •  
  •   assad · 2017-11-16 09:29:52 +08:00 · 16481 次点击
    这是一个创建于 2343 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近接了两个小活,都是 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。

    一家之言,大家轻喷。

    第 1 条附言  ·  2017-11-16 10:09:34 +08:00
    哎,我让我们的 JAVA 技术好好看看你们的回复,好好学习大牛们的经验
    第 2 条附言  ·  2017-11-16 10:22:15 +08:00
    最后把我气得,心想,我要是会 JAVA,哪有这些事。自己就搞去了。但是,Web 开发,还是 PHP 好啊。虽然大家都瞧不上!
    第 3 条附言  ·  2017-11-16 14:36:31 +08:00
    看到大家回复,气氛很好,我也学习了不少,我没黑任何一门语言的意思。小鸡尿尿,各有各的道。且行且学习!
    142 条回复    2018-12-27 12:43:10 +08:00
    1  2  
    Kaho
        1
    Kaho  
       2017-11-16 09:37:43 +08:00   ❤️ 1
    PHP no.1
    ququzone
        2
    ququzone  
       2017-11-16 09:41:05 +08:00   ❤️ 18
    1. 如果吐槽 getter/setter, 请用 lombok
    2. 如果用了 Spring Boot,内部已经封装好了 tomcat/jetty,不用关心这个
    3. 如果环境问题,用 Docker
    基于上面几点,你吐槽跑偏了
    assad
        3
    assad  
    OP
       2017-11-16 09:44:38 +08:00
    @ququzone 我不是 JAVA 的。关键,你说的这些,并不是每个 JAVAer 都知道的,大部分人,似乎还不是你这样开发方式。
    因为我司最近一直在招聘 JAVA,你说的这些我都多多少少作为面试题,我面试了大概 50 来个人吧,问过,没几个人个回答上来
    jason2017
        4
    jason2017  
       2017-11-16 09:45:07 +08:00   ❤️ 1
    见过太多所谓的 5、6 年经验的,不过是 1 年经验干了 5、6。
    另外,每个语言都有适用的场景。
    既然客户指定了用 java,你还想拿钱,就不要抱怨那么了。
    喜欢用 Python,PHP 那就去找 Python 和 PHP 活来接啊。
    assad
        5
    assad  
    OP
       2017-11-16 09:45:41 +08:00
    @jason2017 我所说了,客户指定 JAVA
    assad
        6
    assad  
    OP
       2017-11-16 09:46:10 +08:00
    @jason2017 再是,我这里说的 5,6 年,基本都是 5,6 年,实打实。所以我也在怀疑他们的能力
    assad
        7
    assad  
    OP
       2017-11-16 09:46:40 +08:00
    @jason2017 我只是在说我的感想,并非抱怨。
    e9e499d78f
        8
    e9e499d78f  
       2017-11-16 09:48:00 +08:00
    下次 java 项目转给我,给你提成
    DeadLion
        9
    DeadLion  
       2017-11-16 09:49:02 +08:00
    我觉得是 java 从业人员多,水平参差不齐,工作年龄真不能代表什么。
    anynices
        10
    anynices  
       2017-11-16 09:50:30 +08:00
    Get/Set 麻烦 Lombok 可以解决
    MyBatis SQL 可以写在 Mapper 中,并非必须 xml
    嫌重新部署麻烦,可以脚本,或者上持续集成工具
    odirus
        11
    odirus  
       2017-11-16 09:50:42 +08:00
    从大学开始用 php 在做外包,以前一位师兄吐槽 Java 很难用、臃肿,所以一直不太敢深入接触 Java。。。。。过了很久,当我再次深入学习之后,被迫完成大量项目之后,

    发现 Java 太好用了,特别适合大型、多人协作、长时间开发、长时间更新支持的软件了,如果是用 PHP 或者 Python 的话,我一直都害怕某个对象预期的属性是 undefined (特别是我手上的有些项目都持续交付开发三四年了)
    Mogugugugu
        12
    Mogugugugu  
       2017-11-16 09:52:05 +08:00
    表示 单表 从来不手写 SQL
    Grubber
        13
    Grubber  
       2017-11-16 09:52:47 +08:00
    Spring Boot 使用内置服务器的话,加上 Gradle 部署就一条命令的事
    tscat
        14
    tscat  
       2017-11-16 09:53:07 +08:00
    不喜欢 tomcat,那也只需要配一次啊。。。
    qinxi
        15
    qinxi  
       2017-11-16 09:53:11 +08:00   ❤️ 3

    1: lombok
    2:jpa
    3:跑不起来 这个锅 JAVA 不背
    6:换 HR/技术面试官
    7:Jenkins git hooks / 上传包然后脚本自己处理
    8: 既然接了活就别 BB ,牛逼就直接违约不干了
    p2pCoder
        16
    p2pCoder  
       2017-11-16 09:54:27 +08:00
    如果你项目简单,业务并发量低,可以不用 mybatsi 手写 sql,使用一些纯 orm 映射就可以了
    像我一直做得 p2p,数据库是 mysql,必须手写 sql
    jason2017
        17
    jason2017  
       2017-11-16 09:56:32 +08:00
    @assad 你所说的 set/get,基本上都是实体类会出现的东西,这些又不是逻辑累,完全不许要去看,知道字段就行了。另外 MyBatis 的问题,如果你使用了 MyBatis 代码自动生成工具,自动生成 xml、mapper、实体类、甚至 service 层,基本上效率会比你手写 sql 快很多倍。
    还有 jdk 版本、tomcat 容器报错这些问题,无非就那几种问题,任何一个有实打实的几年经验的 javaer 都能很快定位到问题。
    yuanfnadi
        18
    yuanfnadi  
       2017-11-16 09:57:11 +08:00   ❤️ 1
    lombok +springboot + java.
    在构建镜像里面自动构建。然后提取出来放在 java 镜像里面。
    然后镜像自动发布。爽歪歪。


    FROM gradle:4.0.1-alpine as build
    MAINTAINER FandiYuan <[email protected]>

    ADD ./ /tmp/

    RUN cd /tmp && \
    gradle build

    FROM java:8-jre-alpine

    COPY --from=build /tmp/build/libs/diamond-yuan-fast-airport-0.01.jar /

    ENTRYPOINT ["java", "-server", "-jar", "/diamond-yuan-fast-airport-0.01.jar"]
    skycitygalaxy
        19
    skycitygalaxy  
       2017-11-16 09:58:25 +08:00   ❤️ 3
    学新语言遇到问题,
    大牛:解决问题。
    菜鸟:语言太垃圾,还是我熟悉的 xxx 更好。
    大牛给菜鸟说:你这样就能解决问题。
    菜鸟:不行,不是每个人都能学会这样,还是我已经学会的 xxx 更好。
    强行比喻一波哈,讲道理每个语言都是自洽的,不存在说这个语言只有问题没有解决方案。
    donyee
        20
    donyee  
       2017-11-16 10:00:40 +08:00
    改个页面也不用重新部署吧,直接替换 jsp、class 文件,重启 tomcat 就可以
    xgfan
        21
    xgfan  
       2017-11-16 10:02:32 +08:00   ❤️ 1
    1,用 lombok,或者换 kotlin
    2,我也不用 mybatis,反正 crud,用 spring data jpa 还不是美滋滋,闭着眼睛写 named query method
    3,版本问题不是 java 的锅,哪家都会遇到这个问题。系统也不是 java 的锅,让你在 Windows 下部署 php,python 就方便了?
    ……
    总体上讲,java 是有很多诟病的位置,但你说的这些都不是。
    domty
        22
    domty  
       2017-11-16 10:03:02 +08:00   ❤️ 1
    mybatis 有专门的 generator 插件,能根据数据库表结构自动生成 entity 类,mapper 类及 mapper.xml 文件,主要用于单表的 crud。我只有在写多表间的操作的 sql 时才会去写 mapper。

    至于改个 jsp 页面标签之类的东西就要重新部署,你不知道有个东西叫热部署吗?
    microhz
        23
    microhz  
       2017-11-16 10:03:14 +08:00   ❤️ 1
    setter 和 getter 和构造器可以用 lambok
    springsummer
        24
    springsummer  
       2017-11-16 10:03:50 +08:00
    @odirus 用 js 框架里看到源码里某个属性 undefined。基本就懵逼了。
    suxiaozi
        25
    suxiaozi  
       2017-11-16 10:04:14 +08:00
    看实际场景,小的外包项目,我们老板要快,那我就用 Python 或 PHP,不过以前做银行类系统还是指明要求用 Java
    arnoldFu
        26
    arnoldFu  
       2017-11-16 10:05:36 +08:00
    sql 可以使用通用 mapper 吧简单的增删改查封装好,比如 mybatis-plus,单表操作基本不用往 xml 里面写
    assad
        27
    assad  
    OP
       2017-11-16 10:09:18 +08:00
    哎,我让我们的 JAVA 技术好好看看你们的回复,好好学习大牛们的经验
    odirus
        28
    odirus  
       2017-11-16 10:09:57 +08:00
    @springsummer

    有些项目我都持续开发三四年了,要是当时用弱类型语言的话。。。我估计要崩溃
    nicevar
        29
    nicevar  
       2017-11-16 10:10:06 +08:00   ❤️ 1
    楼主说难听点就是能力差点,你描述的问题都有好的解决方案,上面很多 v 友已经说了,说实话我头一次见人说 java 部署比 python 复杂的,你也真是搞笑,我也是自己做项目的,Java 和 Go 都用,Java 的项目完全可以自动部署,改了文件根本不用自己操心
    assad
        30
    assad  
    OP
       2017-11-16 10:10:36 +08:00
    @DeadLion 我也是这么想的
    jtn007
        31
    jtn007  
       2017-11-16 10:10:54 +08:00
    不喜欢写 sql,有 mybatis-generator 自动帮你生成,或者更简单的 mybatis 也可以做映射。
    windows 环境下部署很多东西都麻烦,不是 Tomcat 的问题。
    java 最合适大型项目,因为 spring cloud 有一整套完整的解决方案,全都有 spring 集成。如果只是小项目,那我用 ruby on rails 搭岂不是更快。本来技术选型就应该更具项目需求和人员能力而定,如果是客户指定的,那你要么不要接,要么就忍着。
    xgfan
        32
    xgfan  
       2017-11-16 10:11:05 +08:00
    java 很多人 ssm 老本吃 5,6 年。拿着祖传代码复制来复制去的。
    assad
        33
    assad  
    OP
       2017-11-16 10:11:43 +08:00
    @nicevar 学习学习啊,分享一下啊。我没参与 JAVA 项目,我让我们的技术和你学习
    heeexy
        34
    heeexy  
       2017-11-16 10:12:33 +08:00
    小项目直接不用实体类, fastjson 的 JSONObject 把 mybatis 的结果全包了,就是可读性差了些
    assad
        35
    assad  
    OP
       2017-11-16 10:13:05 +08:00
    @jtn007 我当时也吐槽呢,NND,用什么 Windows。客户说他们也不懂啊,就用了 Windows。
    thundernet8
        36
    thundernet8  
       2017-11-16 10:13:20 +08:00 via iPhone
    刚学 Java 一个月的时候就知道 lombok 了 从别人的项目学到的,mybati 官方提供了 mapper entity 生成工具 还有人做了个 gui 版本 你学 Java 这么久不应该不了解吧
    CoderXiaode
        37
    CoderXiaode  
       2017-11-16 10:17:56 +08:00
    @assad 我觉得你说的 5,6 年 java 开发经验水分严重;@ququzone 说的基本上是业界共识,我还是个学生党都知道应该这么解决;另外,你吐槽的 java 的 get,set,基本上都是利用 ide 自动生成的,没人手写的,跟语言无关。吐槽要吐到点子上,不然就浅薄了。
    happypy1
        38
    happypy1  
       2017-11-16 10:18:05 +08:00 via iPhone
    现在都流行黑 Java 吗?
    xuchen
        39
    xuchen  
       2017-11-16 10:18:20 +08:00
    @suxiaozi 我也是做 PHP 的好多年了,创业公司和银行合作以后 无论项目大小 基本都是 Java 搞,所以也学了 1 年 Java 也就会配个环境 写个 curd。没办法政企和银行不做 Java 项目谈不下来
    assad
        40
    assad  
    OP
       2017-11-16 10:18:48 +08:00
    @CoderXiaode 就算自动生成,看着都烦。啰里啰嗦的
    vankid
        41
    vankid  
       2017-11-16 10:19:17 +08:00
    五十个没几个答的上来,不至于吧
    assad
        42
    assad  
    OP
       2017-11-16 10:19:19 +08:00
    @happypy1 哥们,我不想黑任何语言
    assad
        43
    assad  
    OP
       2017-11-16 10:19:55 +08:00
    @vankid 我地处西安,面试的基本都是 3-5 年的,没几个让我满意的啊
    nicevar
        44
    nicevar  
       2017-11-16 10:20:57 +08:00
    @assad 我就说一下自动部署吧,你配置一个 jenkins 配合 git,开发的时候用一个分支 dev,提交测试通过后由项目负责人合并到 master 或者 product 分支,jenkins 自动监测这个分支,有更新的时候自动部署,
    至于 set/get 上面有人已经说了,用 lombok 就好了
    另外不想手写 sql,java 有 querydsl 可以用,也能混用,很方便,看文档也就是半天的事
    如果能力太差真的没法救
    ZiLong
        45
    ZiLong  
       2017-11-16 10:22:56 +08:00   ❤️ 1
    Java 确实有很多问题,比如那些设计模式也是因为 Java 的坑,自己来填。Java 的好处是生态完善,基本上你能想到的问题,都有成熟的工具和解决方案,而 PHP 或者 Python 就不一定有,或者并没有经过生产环境检验,或者门槛太高。Java 确实非常啰嗦,但是从另一方面说,什么都是非常简单直接的,如果你英文好点,就像读文章一样。是的,Java 也有很多自己的问题,但是绝不是你上面说的那些,What really matters is not what you do but how~~你的 how 弄错了
    odirus
        46
    odirus  
       2017-11-16 10:23:17 +08:00   ❤️ 1
    @assad 楼主,如果有人发表了你认为不合适的回复,直接无视即可

    大家都没必要发起语言之间的战争,如果每个帖子都是在认真分析、提供帮助(而不是撕逼),那我们才能一起成长得更快嘛。

    我会在 V2 了解到很多新知识,包括工具、原理以及其他的行业资讯。
    owenliang
        47
    owenliang  
       2017-11-16 10:25:46 +08:00
    我保持喷 JAVA WEB 一万年。
    mosliu
        48
    mosliu  
       2017-11-16 10:34:42 +08:00
    1.Lombok 啊
    2.结构简单,没什么复杂逻辑的话,直接 jpa 感觉很方便啊
    3.部署,项目小,直接内置的 tomcat 还是 jetty 来着,资源文件目录等配置好,不要打 war 包,核心 java 打成 jar 包,然后改模板的话 替换相应文件就好吧? 重启都不用吧? 怕不好交付用 docker 啊。。


    自己拿 spring boot 做过小项目,感觉还挺舒服的。。

    当然 写的时候不如 nodejs 快了,但是因为对 node 熟悉度还是不够,稍微上点规模的东西,感觉还是操起 java 来写着舒心。
    BBCCBB
        49
    BBCCBB  
       2017-11-16 10:36:06 +08:00
    get,set 用 lombok,

    mybatis 你可以简单的用注解, 复杂的再 xml 啊, 而且 mybatis 有那么多好用的单表 sql 自动生成,注入的工具

    说到底感觉还是楼主你对这些东西不了解, 只浮于表面能用的程度. 语言虽然只是一个工具,但是用熟一个工具也能事半功倍
    kutata
        50
    kutata  
       2017-11-16 10:42:51 +08:00
    +1,写惯 node.js 的突然想需要去开发原生 android 结合 openCV 做一个图像处理的库,对 java 的认知为零,上网学一下输出个 HelloWorld, 首先要写个类,然后 main 方法,要运行还得 javac -d . HelloWorld.java && java HelloWorld,Excuse me?? 然后 Java 庞大的工程目录结构我就不说什么了,不过现在差不多写好核心了。恩,已经准备好辞职了。
    iyangyuan
        51
    iyangyuan  
       2017-11-16 10:46:45 +08:00
    楼主说的这些问题,几乎不存在,很明显是自己不懂乱吐槽
    jatesun
        52
    jatesun  
       2017-11-16 10:46:48 +08:00
    mybatis 可以支持自动生成相关,controller、service、dao 层都可以用泛型,父类解决大部分问题。另外,二楼说的很对
    woscaizi
        53
    woscaizi  
       2017-11-16 10:50:56 +08:00
    小项目可以不用 mybatis 吧
    spring-data-jpa
    安逸
    tusik
        54
    tusik  
       2017-11-16 10:52:07 +08:00
    @assad
    既然都自动生成了谁还会去看 get,set 的内容啊,直接拿来用就行了
    Amayadream
        55
    Amayadream  
       2017-11-16 10:53:44 +08:00   ❤️ 1
    1.不喜欢 getter/setter 可以使用 lombok
    2.小项目 SQL 简单可以用 spring-data-jpa, 或者基于 mybatis 开发的 mybatis-plus 等, 完全可以不写 SQL
    3.spring boot 使用了嵌入的 Tomcat, 完全不需要单独安装
    4.maven 项目换人跑不起来说明项目本身有问题啊, 是不是过多的硬编码配置约定
    5.手动部署肯定麻烦啊, 用 Jenkins
    assad
        56
    assad  
    OP
       2017-11-16 10:56:38 +08:00
    @iyangyuan 当然啦,熟悉了一门语言,怎么都觉得这个语言没啥问题,但是你要再去熟悉其他语言,总有不适应的,或者感觉不方便的。不过,感觉 Java 开发小的 Web 项目,大炮打蚊子,大材小用!
    Tuisku
        57
    Tuisku  
       2017-11-16 10:59:31 +08:00
    Java 适合按照代码行数算工资的公司, 净是 GET/SET 方法

    public void setBlablabla(xxx xxx){
    this.blablabla = xxx;
    }

    public blablabla getBlablabla(){
    return this.blablabla;
    }

    六行工资入手, 轻轻松松月入百万哈哈哈哈哈哈

    相比之下 C# 就比较惨了

    public blablabla blablabla { get; set; }

    难怪都说 C#没 Java 好
    Amayadream
        58
    Amayadream  
       2017-11-16 11:00:33 +08:00
    以前遗留的老项目, 什么新特性新框架新技术都用不上, 像 lz 说的五六年经验这么水的, 维护起来确实是要了人命
    Doodlister
        59
    Doodlister  
       2017-11-16 11:00:49 +08:00 via Android
    没有复杂的表连接有 mybatis generator。而且,我以为写 SQL 是程序员的基本功。
    assad
        60
    assad  
    OP
       2017-11-16 11:02:05 +08:00
    @Amayadream MyBatis-plus,这个玩意舒服了,看上去
    mrsatangel
        61
    mrsatangel  
       2017-11-16 11:04:49 +08:00
    我觉得 v 站有个好就是总归会有人认认真真给出方案,而不是嘲讽 lz。上面 12345 列出来的大部分都是最佳实践,lz 吐槽错了地方。
    vance
        62
    vance  
       2017-11-16 11:11:33 +08:00
    竟然吐槽 Mybatis 的 Sql 麻烦...
    CoderGeek
        63
    CoderGeek  
       2017-11-16 11:14:57 +08:00
    Spring Boot 很方便 开发效率很快 说实话 Mybatis 我一直手写 sql 没有觉得有什么麻烦的 QAQ
    panpanpan
        64
    panpanpan  
       2017-11-16 11:22:43 +08:00
    1.Lombak,而且 getter setter 也不需要你手写
    2.JPA ,即使是 Mybatis 单表查询也不需要写 SQL,推荐 example 类或者在接口上用注解。除非很复杂的查询真不推荐用 xml
    3.Spring Boot
    4.环境问题一律上 Docker
    5.。真的有这么难招人么。。
    fuyufjh
        65
    fuyufjh  
       2017-11-16 11:25:48 +08:00
    客户提供的运行环境是 Windows ……这就坑了,目测除了 PHP 基本都要出点问题

    Java 算容易的,我部署过自己写的垃圾小程序( Spring ),被 Tomcat 乱码问题坑了半天,别的还好啦
    x7395759
        66
    x7395759  
       2017-11-16 11:33:57 +08:00
    首先你吐槽 Java 的方向不对,其次你不会就是你的错,不能怪语言,不能怪框架,不能怪容器,不能怪别人。

    我其实很好奇 php 的 no.1 怎么来,所以可以推荐几篇文章看看吗。
    fhefh
        67
    fhefh  
       2017-11-16 11:37:27 +08:00
    最近入 Java 了 感觉 Java 挺不错的~~
    Alex6
        68
    Alex6  
       2017-11-16 11:46:28 +08:00
    Java 是很好的啊,PHP 也是很好的。其实 lz 的吐槽就是 PHP 刚刚转 Java 的感受,终究还是没熟悉的问题,熟悉了 Java 的开发思维,处理模式就事半功倍了。
    jameshuazhou
        69
    jameshuazhou  
       2017-11-16 11:47:40 +08:00
    难道只有我一个人同意楼主观点?
    几年前也遇到有相同要求的客户,windows+java,但我们都不想用 java 写啊,而且 demo 都出来了,怎么办呢?
    这时一个老司机出了个主意:在 windows 装个虚拟机跑 linux,把 restful 风格的 url 结尾都改成.jsp 。
    结果是这单顺利验收,并且接下去的几个升级版本都是这么做。当然,关键是合同没写用 java 做,客户也从来不会去看代码是语言。
    AckywOw
        70
    AckywOw  
       2017-11-16 11:52:40 +08:00
    然而 Java 还是最主流语言,大公司都离不开
    toku
        71
    toku  
       2017-11-16 12:00:08 +08:00 via iPhone
    那我可以建议你们在招人的时候,要求可以高一点,看看最近的新技术,不要只是几年项目经验
    NeinChn
        72
    NeinChn  
       2017-11-16 12:01:53 +08:00
    居然有人用 Lombok
    这个在团队开发中真是不实用,大部分项目直接 git clone 就可以用
    如果用了 Lombok,相当于要求所有人都在 IDE 里安装这个插件
    所谓的繁琐简洁真的有意义么,轮编程时间相差几乎为 0,都是写个 private Type name;剩下都是自动生成的代码
    要看的代码也就前面的 fields,后面几乎不用看
    用 Lombok 并不会提升效率,唯一的安慰感就是看起来代码少了几十行....
    还是你永远没必要看的几十行....
    ming7435
        73
    ming7435  
       2017-11-16 12:02:48 +08:00
    每日一黑,你可以告诉你客服用 php 的
    gouchaoer
        74
    gouchaoer  
       2017-11-16 12:06:06 +08:00
    大家干脆都用 docker 开发环境得了,团队主程把镜像依赖都配置好然后上传镜像,别的成员就下载镜像就 ok 了,平时源码更新用 git,依赖更新用 docker 镜像,皆大欢喜
    ericgui
        75
    ericgui  
       2017-11-16 12:14:32 +08:00
    恕我直言,你这些问题,不是问题。
    lancelock
        76
    lancelock  
       2017-11-16 12:16:02 +08:00
    我做前端的最近就在看 Java,不到一个月,2l 提到的这些东西我都基本有所了解,我不知道你们五六年的 java 时间都花去哪里了,这些都是行业标准一样的东西啊,培训班都得教这些吧。
    另外不会写 sql 做什么后台啊,谁能放心。想简单用 jpa 也可以
    luban
        77
    luban  
       2017-11-16 12:17:11 +08:00
    @NeinChn 赞同,看了 Lombok 要插件就不想用了
    shawshi
        78
    shawshi  
       2017-11-16 12:24:19 +08:00
    我只想知道你这两个 5 6 年工作经验的朋友从哪儿招的?
    ming7435
        79
    ming7435  
       2017-11-16 12:24:26 +08:00
    这些槽点对真正入门 java 的人来说都不是个事儿,只能说某些人是为了黑而黑
    unique
        80
    unique  
       2017-11-16 12:26:40 +08:00 via iPhone
    gejun123456
        81
    gejun123456  
       2017-11-16 12:27:00 +08:00 via Android
    可以试试
    https://github.com/gejun123456/MyBatisCodeHelper-Pro
    一键生成 mybatis 的 sql
    Sharuru
        82
    Sharuru  
       2017-11-16 12:32:55 +08:00 via Android
    Lombok 能省去的不仅仅是 getter / setter。

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

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

    另外 Tomcat/Jetty 早就不需要手动集成插件了,用个 mvn plugin 直接跑完事,反正都是测试
    VCS 都是现代 IDE 自带,用 vim/emacs 的大神不考虑,而且个人用命令行更多,IDE 的 VCS 反而不用,真的复杂操作我也用 source tree
    ZhLTE
        99
    ZhLTE  
       2017-11-16 14:10:50 +08:00
    @Tuisku 7.0 不需要 getset 了 haha
    zengyuxi
        100
    zengyuxi  
       2017-11-16 14:15:02 +08:00
    Java 后台的那套逻辑,不就是 ssh/ssm,各种 Copy 改吗? 5,6 年如果一直局限的话,其实和 1,2 年的经验,没太大区别! (逃...)
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1011 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 20:05 · PVG 04:05 · LAX 13:05 · JFK 16:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.