新来的同事写的代码,两年半工作经验,一个 CURD 功能写了一星期,今天看了 git commit ,我不做评论,各位看官看吧
1
ytll21 2021-12-30 10:22:40 +08:00 5
槽点太多,无从下手
|
2
qiany 2021-12-30 10:23:21 +08:00 3
你们公司还招人吗
|
3
66beta 2021-12-30 10:25:05 +08:00
不懂 java ,但我觉得注释不行
|
4
glfpes 2021-12-30 10:26:39 +08:00 3
试用期就是给这种贵物准备的。
面试的人呢?拖出去枪毙十分钟。 |
5
aragakiyuii 2021-12-30 10:29:05 +08:00
这咋面试过的
|
6
IamCyborg 2021-12-30 10:29:59 +08:00 1
前端表示看不懂,没学过 java ,有人解释一下吗
|
7
xiao109 2021-12-30 10:30:01 +08:00 2
这不写的挺好的嘛,map 入参减少新建一个类的麻烦。
现在两年半经验约等于零经验。培训班出来都是两年经验起步 |
8
murmur 2021-12-30 10:31:32 +08:00 7
update = 获取,我英语是跟体育老师学的么
|
9
k9982874 2021-12-30 10:31:52 +08:00 7
用 map 充分考虑到了 api 的扩展性,没毛病,建议全司推广🐶️
|
10
zhoudaiyu 2021-12-30 10:32:46 +08:00 1
你们公司还招人吗
|
12
nonoyang 2021-12-30 10:34:03 +08:00
我怀疑除了方法里面的内容,其他的都是从别的地方拷贝过来的。。。
|
13
dejavuwind 2021-12-30 10:34:13 +08:00 5
map 一把梭 要啥 get 啥
|
14
gbw1992 2021-12-30 10:34:29 +08:00
前端看到接口名会不会心里会不会**
|
15
mineralsalt 2021-12-30 10:34:36 +08:00 10
1.map 做参数是不太好, 但是也有实际应用场景
2.return null 问题比较大, 这里应该抛异常然后全局处理异常, 或者用 ApiResult.error() 3.equal 写的不规范容易空指针异常 4.id 没有判空, 也容易空指针 |
16
night98 2021-12-30 10:34:44 +08:00 14
http method -》 post
func name -》 update service func name -》 get 好家伙,差点就集齐神龙了 |
17
xinyang5302677 2021-12-30 10:35:02 +08:00 5
他是不是你工资比你高?
|
18
auto 2021-12-30 10:35:16 +08:00
|
19
fkdtz 2021-12-30 10:35:26 +08:00 5
这是高手,要写让人一看就懂的代码,无论是初学者还是架构师,而不是写炫技的代码。
|
21
rrZ2C 2021-12-30 10:35:41 +08:00
这是传说中的参数封装吧
|
22
kerb15 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
totoro52 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 3
工资估计高于楼主吧
|
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 2
既然用 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
totoro52 OP @aragakiyuii 不是我面的,漏网之鱼
|
46
nba2k9 2021-12-30 11:03:12 +08:00 1
又不是不能用
|
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 2
这种基础 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 3
有必要这样对我吗,自己几斤几两不知道吗?
|
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 3
真的不容易,能够在短短几行出现这么多问题:
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 2021-12-30 13:12:24 +08:00
怼上去就完了
|
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 1
@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 之类的玩得少 |