新来的同事写的代码,两年半工作经验,一个 CURD 功能写了一星期,今天看了 git commit ,我不做评论,各位看官看吧

     1 
                    
                    ytll21      2021-12-30 10:22:40 +08:00    槽点太多,无从下手 
                 | 
            
     2 
                    
                    qiany      2021-12-30 10:23:21 +08:00    你们公司还招人吗 
                 | 
            
     3 
                    
                    66beta      2021-12-30 10:25:05 +08:00 
                    
                    不懂 java ,但我觉得注释不行 
                 | 
            
     4 
                    
                    glfpes      2021-12-30 10:26:39 +08:00    试用期就是给这种贵物准备的。 
                面试的人呢?拖出去枪毙十分钟。  | 
            
     5 
                    
                    aragakiyuii      2021-12-30 10:29:05 +08:00 
                    
                    这咋面试过的 
                 | 
            
     6 
                    
                    IamCyborg      2021-12-30 10:29:59 +08:00    前端表示看不懂,没学过 java ,有人解释一下吗 
                 | 
            
     7 
                    
                    xiao109      2021-12-30 10:30:01 +08:00    这不写的挺好的嘛,map 入参减少新建一个类的麻烦。 
                现在两年半经验约等于零经验。培训班出来都是两年经验起步  | 
            
     8 
                    
                    murmur      2021-12-30 10:31:32 +08:00    update = 获取,我英语是跟体育老师学的么 
                 | 
            
     9 
                    
                    k9982874      2021-12-30 10:31:52 +08:00    用 map 充分考虑到了 api 的扩展性,没毛病,建议全司推广🐶️ 
                 | 
            
     10 
                    
                    zhoudaiyu   PRO 你们公司还招人吗 
                 | 
            
     12 
                    
                    nonoyang      2021-12-30 10:34:03 +08:00 
                    
                    我怀疑除了方法里面的内容,其他的都是从别的地方拷贝过来的。。。 
                 | 
            
     13 
                    
                    hiwind      2021-12-30 10:34:13 +08:00    map 一把梭 要啥 get 啥 
                 | 
            
     14 
                    
                    ltmst      2021-12-30 10:34:29 +08:00 
                    
                    前端看到接口名会不会心里会不会** 
                 | 
            
     15 
                    
                    mineralsalt      2021-12-30 10:34:36 +08:00    1.map 做参数是不太好, 但是也有实际应用场景 
                2.return null 问题比较大, 这里应该抛异常然后全局处理异常, 或者用 ApiResult.error() 3.equal 写的不规范容易空指针异常 4.id 没有判空, 也容易空指针  | 
            
     16 
                    
                    night98      2021-12-30 10:34:44 +08:00    http method -》 post 
                func name -》 update service func name -》 get 好家伙,差点就集齐神龙了  | 
            
     17 
                    
                    xinyang5302677      2021-12-30 10:35:02 +08:00    他是不是你工资比你高? 
                 | 
            
     18 
                    
                    auto      2021-12-30 10:35:16 +08:00 
                    
                    
                 | 
            
     19 
                    
                    fkdtz      2021-12-30 10:35:26 +08:00    这是高手,要写让人一看就懂的代码,无论是初学者还是架构师,而不是写炫技的代码。 
                 | 
            
     21 
                    
                    rrZ2C      2021-12-30 10:35:41 +08:00 
                    
                    这是传说中的参数封装吧 
                 | 
            
     22 
                    
                    ex1gtnim7d      2021-12-30 10:35:51 +08:00 
                    
                    也许槽点在于,写了一星期 
                 | 
            
     25 
                    
                    hccsoul      2021-12-30 10:37:44 +08:00 
                    
                    我看懂了,但我还是大受震撼 
                 | 
            
     26 
                    
                    liangch      2021-12-30 10:38:19 +08:00 
                    
                    不大懂。map 参数不判 null 么? 
                 | 
            
     27 
                    
                    MIUIOS   OP @xinyang5302677 那倒不至于 
                 | 
            
     28 
                    
                    jiyingze      2021-12-30 10:39:16 +08:00 
                    
                    第一行 if 可能抛两个 npe 
                哈哈哈  | 
            
     29 
                    
                    philchang1995      2021-12-30 10:39:24 +08:00 
                    
                    @auto 颇有异曲同工之妙 
                 | 
            
     31 
                    
                    yazinnnn      2021-12-30 10:41:10 +08:00 
                    
                    槽点是挺多的。。。 
                 | 
            
     32 
                    
                    majiaxxyy      2021-12-30 10:41:32 +08:00 
                    
                    入参 map 一时爽,后期维护惨。   前面的 return null 前端怎么知道要干嘛。 后面的 return 都知道回个 success 。 
                 | 
            
     34 
                    
                    mango88      2021-12-30 10:42:43 +08:00 
                    
                    项目中有类似的代码(不是他提交的) ? 
                 | 
            
     35 
                    
                    philchang1995      2021-12-30 10:45:06 +08:00 
                    
                    @totoro52 方法名不太合适、参数用 map 也不太合适、equals 按照上面那样写容易空指针、除特殊情况下方法最好不要返回 null 这些是我看出来的 不知道别的还有没有 
                 | 
            
     37 
                    
                    philchang1995      2021-12-30 10:46:32 +08:00 
                    
                    @totoro52 回复错人了 不好意思 
                 | 
            
     38 
                    
                    ZField      2021-12-30 10:46:48 +08:00 
                    
                    槽点很多,map 传参、返回值不规范、校验可以用注解…… 
                 | 
            
     39 
                    
                    Zeffon      2021-12-30 10:47:09 +08:00    工资估计高于楼主吧 
                 | 
            
     40 
                    
                    cxshun      2021-12-30 10:48:23 +08:00 
                    
                    参数用 map ,后续估计想死的心都有了。 
                CRUD 一个星期倒不是啥问题,有可能刚入职,很多不清楚,要熟悉一下。只是上面的 map 槽点就真是没法理解了。 PS:我厂,某养猪的,定义的接口就是一个 dict ( python 语言),作为一个 javaer ,真是受不了。虽然前期方便,但后续真的是坑爹啊。  | 
            
     41 
                    
                    cslive      2021-12-30 10:50:24 +08:00    既然用 map 接参,那就应该继续用 map 反参🐶 
                 | 
            
     42 
                    
                    ltf127001      2021-12-30 10:51:52 +08:00 
                    
                    公司新来的四年工作经验大佬,变量定义 300+行,两个 for 循环,每个循环 1000+行,一个业务 2300+行代码😦 
                 | 
            
     43 
                    
                    coderluan      2021-12-30 10:54:22 +08:00 
                    
                    比起网友怎么看,楼主你的领导和同事怎么看,如果他们没啥看法,那么该离职的人应该是楼主自己哦...... 
                 | 
            
     45 
                    
                    MIUIOS   OP @aragakiyuii 不是我面的,漏网之鱼 
                 | 
            
     46 
                    
                    nba2k9      2021-12-30 11:03:12 +08:00    又不是不能用 
                 | 
            
     47 
                    
                    xianyu191031      2021-12-30 11:03:42 +08:00 
                    
                    面试的人要负很大责任 
                 | 
            
     49 
                    
                    HHAO2019      2021-12-30 11:09:25 +08:00 
                    
                    团队没有制定开发规范吗? 
                 | 
            
     50 
                    
                    Suddoo      2021-12-30 11:10:26 +08:00 via iPhone    这种基础 crud 代码不应该建好表后,直接用代码生成器生成吗? 5 分钟搞定 
                 | 
            
     52 
                    
                    JKeita      2021-12-30 11:10:45 +08:00 
                    
                    我比较好奇这注释。。。 
                 | 
            
     53 
                    
                    linbingcheng      2021-12-30 11:11:33 +08:00 
                    
                    这种没法用 Swagger ,难受, 并且这注释还不如没注释 
                 | 
            
     54 
                    
                    dddd1919      2021-12-30 11:12:22 +08:00 
                    
                    以前不理解为啥开发盯着屏幕能笑得这么欢乐,看这个代码真的处处充满欢乐 
                 | 
            
     56 
                    
                    nicegoing      2021-12-30 11:16:59 +08:00 
                    
                    这个应该要统一封装返回数据的格式吧。出现 null ,也好统一处理呀 
                 | 
            
     57 
                    
                    AlkTTT      2021-12-30 11:17:45 +08:00 
                    
                    md ,看到 map 传参血压都上来了 
                 | 
            
     58 
                    
                    francis59      2021-12-30 11:21:38 +08:00 
                    
                    这两年半经验是包装出来的吗? 
                 | 
            
     59 
                    
                    zmqking      2021-12-30 11:23:42 +08:00    有必要这样对我吗,自己几斤几两不知道吗? 
                 | 
            
     60 
                    
                    zepc007      2021-12-30 11:23:46 +08:00 
                    
                    python 同学表示这不正常吗? Java 里正常应该用啥传参? DTO ? 
                 | 
            
     61 
                    
                    yaphets666      2021-12-30 11:26:36 +08:00 
                    
                    培训班出来的 
                 | 
            
     62 
                    
                    yaphets666      2021-12-30 11:26:45 +08:00 
                    
                    而且是班里的差生 
                 | 
            
     63 
                    
                    cvbnt      2021-12-30 11:28:47 +08:00 via Android 
                    
                    现在培训班教出来的都不会用 map 传参 
                 | 
            
     64 
                    
                    aeiou520      2021-12-30 11:30:35 +08:00 
                    
                    我觉得不是培训班出来的..培训班出来的起码知道面向对象 
                 | 
            
     65 
                    
                    NoString      2021-12-30 11:32:21 +08:00 
                    
                    这也行? 
                 | 
            
     66 
                    
                    liub34177      2021-12-30 11:36:58 +08:00 
                    
                    入参怎么还用 map ,而且为啥用 Object 当 Value ???? 
                 | 
            
     67 
                    
                    james2013      2021-12-30 11:43:14 +08:00    真的不容易,能够在短短几行出现这么多问题: 
                1.获取数据推荐使用 GET 方法 2.方法名称有问题 3.参数传值使用 map 4.参数校验和返回有问题 5.注释有问题  | 
            
     68 
                    
                    baolinliu442k      2021-12-30 11:44:53 +08:00 
                    
                    尴尬 我居然觉得没啥问题 
                 | 
            
     69 
                    
                    murmur      2021-12-30 11:45:56 +08:00 
                    
                    @liub34177 为啥不能用 map 啊,我们在做少代码,入参都是变的,那不用 map 用 object 么,而且 body 以 json 过来不就是个 map 么 
                 | 
            
     70 
                    
                    stkstkss      2021-12-30 11:53:00 +08:00 
                    
                    图挂了 
                 | 
            
     71 
                    
                    banmuyutian      2021-12-30 11:56:25 +08:00 
                    
                    @murmur #69  
                因为 map 的可维护性很差  | 
            
     74 
                    
                    lucays      2021-12-30 12:10:06 +08:00 
                    
                    python 也可以用 object 的,比如 pydantic 或者基本的 dataclass 
                 | 
            
     75 
                    
                    ytmsdy      2021-12-30 12:14:51 +08:00 
                    
                    很好奇,工资多少? 
                如果没过 10k ,那就当作没看到,能跑就行了。 如果过了 10k ,那就可以直接劝退了!  | 
            
     76 
                    
                    yousabuk      2021-12-30 12:22:40 +08:00 via iPhone 
                    
                    越是高手在写代码时越是谨慎,经过反复推敲后写出最精简、干练的代码。 
                哈哈  | 
            
     77 
                    
                    wancaibida      2021-12-30 12:23:54 +08:00 
                    
                    kotlin 用久了都忘了要处理空指针异常了🤣 
                 | 
            
     79 
                    
                    h82258652      2021-12-30 12:28:58 +08:00 
                    
                    我以为.net 这边烂人多,没想到 java 那边的高手更厉害[狗头] 
                之前见过 dynamic 随处飘的,但至少命名还算是个正常人,楼主你这个同事的思维就贼离谱  | 
            
     80 
                    
                    leafre      2021-12-30 12:32:38 +08:00 
                    
                    你负责 review 代码?如果不是,领导没说话,咱就干好自己的活 
                 | 
            
     81 
                    
                    rpman      2021-12-30 12:42:01 +08:00 
                    
                    动态语言写多了甚至第一眼没觉得违和 ( 
                 | 
            
     82 
                    
                    potatowish      2021-12-30 12:47:23 +08:00 via iPhone 
                    
                    1.代码看上去是复制粘贴的,但是注释和方法名没改 
                2.参数用 map 3.equals 比较错误 4.接口返回结果混乱,前面返回 null ,后面返回 ApiResult 但凡有个一年经验的外包也不至于写成这样,建议直接辞退,不然以后会埋很多坑  | 
            
     83 
                    
                    wamson      2021-12-30 12:52:14 +08:00 via iPhone 
                    
                    python 写多了,扫一眼只觉得函数名和注释不规范(狗头 
                 | 
            
     84 
                    
                    preach      2021-12-30 12:58:33 +08:00 
                    
                    现在开除还来及 
                 | 
            
     86 
                    
                    NeoZephyr      2021-12-30 13:04:47 +08:00 
                    
                    @mineralsalt 能跑起来就行了,管那么多啊 
                 | 
            
     87 
                    
                    NeoZephyr      2021-12-30 13:06:55 +08:00 
                    
                    @banmuyutian 你给我说说维护性差在哪里?张口就来 
                 | 
            
     88 
                    
                    Amber2011      2021-12-30 13:08:20 +08:00 via Android 
                    
                    我们这里也有一个这样,还好代码后续不是我维护的。还有用 String 接请求,然后手动 json 解析成 map 。 
                 | 
            
     89 
                    
                    zhoudaiyu   PRO 怼上去就完了 
                 | 
            
     90 
                    
                    wfd0807      2021-12-30 13:15:39 +08:00 
                    
                    看开,能跑就行 
                 | 
            
     91 
                    
                    banmuyutian      2021-12-30 13:16:15 +08:00 
                    
                    @NeoZephyr #87  
                1.swagger(或者类似的自动生成 api 文档工具)没法用,除非手写注解生成或者维护一份 api 接口文档,参数更新的时候也要维护 2.产生一堆魔法值同样是难以维护的 3.后续接手代码的人还要一个一个去查找参数  | 
            
     92 
                    
                    banmuyutian      2021-12-30 13:16:43 +08:00 
                    
                    @NeoZephyr #87  
                倒是想你给我说说维护性好在哪  | 
            
     93 
                    
                    banmuyutian      2021-12-30 13:18:47 +08:00 
                    
                    @banmuyutian #91  
                第一条还要补充一下,按照截图中的注释说明以及大部分程序员的习惯(包括我),怕是做不到手工维护 API 文档  | 
            
     94 
                    
                    shayuvpn0001      2021-12-30 13:30:44 +08:00 
                    
                    代码和他两个任意一个能跑就行: 
                代码可以跑,他没跑,你们可以把他按倒地上摩擦; 代码不能跑,他跑了,代码可以把你们按在地上摩擦;  | 
            
     95 
                    
                    NeoZephyr      2021-12-30 13:33:45 +08:00 
                    
                    @banmuyutian 不对啊,用 swagger 肯定是原来代码里面就这样的啊,也不是他引入的 
                 | 
            
     96 
                    
                    NeoZephyr      2021-12-30 13:34:49 +08:00 
                    
                    @banmuyutian 维护性好不好是相对的,如果根本就没有维护的必要,要那么好的维护性干嘛 
                 | 
            
     97 
                    
                    fffang      2021-12-30 13:36:04 +08:00 
                    
                    看着好像没什么问题 
                 | 
            
     98 
                    
                    banmuyutian      2021-12-30 13:38:36 +08:00    @NeoZephyr #96  
                这是项目代码不是个人小玩具,如果你无意提高自己编码质量的话说再多也没用,总能找到反驳的理由  | 
            
     99 
                    
                    Kimen      2021-12-30 13:40:57 +08:00 
                    
                    他试用期要是能过,劳资立马转行 
                 | 
            
     100 
                    
                    lybcyd      2021-12-30 13:55:03 +08:00 
                    
                    最大的问题是 return null 吧,接口要返回明确的错误信息 
                其他的地方,Java 程序员当然看不下去,但是如果这人原来是写 python 或 php 之类的,就好像看上去并没有什么问题。不过也说明至少不是 Java 熟练工了,各种 VO ,DTO 之类的玩得少  |