• 遇到这样的项目伙伴我也是服气了
  • 发布于 2个月前
  • 337 热度
    9 评论
项目框架已经搭好用 springboot3 和 JPA ,然后他居然在 repository 里写了个 insert 方法,而且还是用 nativeSQL ,当然可能人家没用过 JPA ,那也算了。

然后一个发邮件的功能,他说调试了一天才搞定,然后我一看他的代码,在发邮件的函数里用 java 自带的 http client ,每发一封就 new 一个,就算不用 sprigbooot 的 rest template ,好歹也用一下 okhttpclient 吧,而且也不用 bean 管理一下。然后发邮件有个验证码机制,有有效期之类的,我本来的想法是用单独的表管理所有验证方式,比如注册验证邮件,改密码验证邮件,还有大概率手机验证,2FA 之类的,然后他直接把 token 和过期时间存 user 表里了。

还有很多小细节,比如全局捕获异常也不设置 http 状态码,直接默认都 200 (项目定的 rest 风格),有 loback 也不用,异常直接 printstack ,也从不管已经存在的代码,比如已经有 util 包和 Util 类了,还要新建 utils 包和 Util 类,异常码也是,明明有个 user_not_found 了,还要在一个他写的重复判断用户是否存在的逻辑里加一个 no_email 的错误码,反正我也不想管了,把我负责的 api 弄稳妥就行。


我是抱着想写好质量代码的心,然后遇到一个完全不管代码质量的人合作,真是糟心呐!

用户评论
  • 怪性酷
  • 这种人确实没法合作的,写的一坨屎,叫他改估计他还会逼逼赖赖,建议跟上级汇报,不然到时候自己去接这坨屎难受的只有自己。
  • 2024/5/13 12:14:00 [ 0 ] [ 0 ] 回复
  • 北船余音
  • 1. spring jpa 有时候用 native sql 还是很方便的,说实话简单命明了,不过多数用在复杂查询的场景。insert 方法用 native ,确实没见过...
    2. 使用 java11 的 native http client 没啥问题,他这里的问题是没有定义一个全局公用的 client
    3. 看起来你的同事代码习惯不太好,喜欢简单粗暴完成任务,追求短平快

    代码总体风格和质量控制,其实靠同事之间推动是有一点难度的。如果 leader 不重视这事儿,同事之间直接沟通,如果加上不能很好的把握沟通技巧(所谓低情商表达),其实很容易转化为同事矛盾。弥补认知差异是困难的。


    我前几年的时候,会直接提醒同事,但收效有时候并不大,后来想想其实没啥必要。仅仅是工作而已,如果测试和领导没反馈什么问题,那就没关系。等自己真正有话语权时再去控制也不晚(目前就这么做的)。

  • 2024/5/13 12:08:00 [ 0 ] [ 0 ] 回复
  • Kily
  • 可以看出楼主是非常注重代码质量的,如果是我,我会非常喜欢和你这样的程序员共事,一起讨论代码和设计,一起推进项目做出让用户用起来感觉非常流畅和舒服的应用。但是往往事与愿违,由于各种原因,很多敷衍了事的代码会充斥在代码库里,确实看了很糟心,非常影响写代码的心情。没别的办法,努力提升自己,离开这个环境,进入更有素养更注重代码质量的团队。

    「凡是能真正把他人怎么阅读代码放在心上的软件工程师,即使一开始不具备非常好的设计技巧,随着时间的推移,也能很快学会这些技巧。心中有他人是非常重要的意识和素养。」——《软件设计:从专业到卓越》
  • 2024/5/13 12:04:00 [ 0 ] [ 0 ] 回复
  • 阳光
  • 代码风格就是团队里面话语权最大的人说了算的, 很难说绝对的谁好谁坏。比如你提到的数据库访问层实现, 可以选择 JPA, 可以选择 MyBatis, JOOQ, Jdbi, VertX 甚至 JdbcTemplate, 裸 JdbcPreparedStatement, 只是每个人的品味不同,比如你提到的 HTTP Client, 可以是 Rest Template, 可以是 Apache HttpClient, 可以是 Java 11 HttpClient, 可以是 OkHttp, Retrofit, 甚至可以是 VertX, 只是每个人的品味不同。

    只不过话语权最高的那个人说哪个好, 然后就得有人遵守, 仅此而已,代码品味有不同, 你个人可以喜欢或者不喜欢, 但是如果之前已经在系统里面的呢? 难道你要全部改掉?要能够接受一个系统就是多方面妥协的产物, 不是你要求完美, 它就能完美,要不然, 你接受不了的地方, 那可多着呢!
  • 2024/5/13 11:58:00 [ 0 ] [ 0 ] 回复
  • 远行客
  • 硬气点该摆的时候就摆,跟领导说,如果这种东西后续出问题,让你改,你就要求重写,需要时间,要不就别让你改,至于性能问题啥的,出问题了也是他的方法出的,一般上头找人负责也是先找的你领导,所以你就把自己一亩三分地管好就得了,你得习惯,有些人不用给好脸色。
  • 2024/5/13 11:53:00 [ 0 ] [ 0 ] 回复
  • 徒步旅行
  • 如果就是这么个环境没办法,我会直接跟领导提自己单独负责一些模块,我不管别人怎么堆屎山代码,但别人也别在我这拉屎就行。
  • 2024/5/13 11:48:00 [ 0 ] [ 0 ] 回复
  • 星空寂云
  • 我同事也是,前端,代码写的一堆屎山,因为新来的领导一点也不懂开发,所以,他只要实现了需求就行了……
    很担心他走了,那一堆垃圾如果给我,该怎么维护……
  • 2024/5/13 11:42:00 [ 0 ] [ 0 ] 回复
  • 人生如流水
  • 这种问题很难搞,除非那人本身性格还比较好,你说他就能改(我遇到过这种,只是技术不太行写的差,但你跟他说他会很抱歉的马上改)。如果性格不好就麻烦了,不管是直接找他本人说,还是通过上一级管理进行沟通,都会产生冲突,遇到一些奇奇怪怪的人还会有很多恶心的事情。(参考一些同事之间投毒,背后捅刀之类的事件)
  • 2024/5/13 11:37:00 [ 0 ] [ 0 ] 回复