spring cloud 项目,用的 feign,框架是老大哥搭的。前阵子测试给我提 bug 说异常了代码还继续执行。 我就查了一下加了个全局的 decode,但是要求返回值都是统一的自定义 Respose 对象,拦截器里拿这个对象去反序列化。我们的代码绝大部分是标准返回自定义 Respose 对象的,但是老大哥偷懒直接返回了 VO 未拿 Respose 对象包装导致反序列化失败。 我给提了我去全局扫一遍帮他改,支支吾吾说要报告领导(产品还没上线而且又不牵扯业务逻辑),然后加了个 ifelse 把我的逻辑绕过去了(还没绕对,我 debug 一看还是有问题)。 然后就进入了扯皮阶段。好说歹说领导给同意我的做法了。我就把她的 ifelse 去掉了。提交至 master 。 然后第二天骚气的来了,前端给我提 bug 。 我一看好家伙他直接把我的拦截器给注释掉了,导致 feign 异常未捕获继续执行了
1
falcon05 2021-08-06 10:17:49 +08:00 via iPhone 4
修改回来然后,git commit -m 再注释掉我跟你没完!
|
2
Aliennnnnn 2021-08-06 10:18:00 +08:00 2
提刀
|
3
timle1029 2021-08-06 10:20:35 +08:00 3
你们的 code review 呢?为什么他能自说自话把你的代码去掉
|
4
bingyiyu OP @timle1029 他的账号是有 master 分支权限的,说起来有点搞笑,他一直在 master 上写代码。我给提了也不听,虽然现在项目还没上线问题不大
|
6
HarryHook 2021-08-06 10:30:16 +08:00 1
master 上写代码也太骚了
|
8
harde 2021-08-06 10:35:23 +08:00 9
能出现这个问题,要么你的公司很小,要么就没有技术主管,我跟你一样一路走来,建议你要么顶掉老顽固,要么换个公司,长期以往,既对你成长不利,对心情也不好~
|
10
NjcyNzMzNDQ3 2021-08-06 11:15:00 +08:00 1
查了一下就加全局的 decode 啊。。好像还是你改了拦截器,对象咋还要反序列化下才能用呢。。
首先个人担心你还不了解业务就改全局不合适,其次你让老大哥改这个全局返回需求它不香吗? 最后要是能只改自己负责的功能代码就最好了。 |
11
MaxTan 2021-08-06 11:27:22 +08:00 1
"她"是 40 岁的老大哥?
|
12
uselessVisitor 2021-08-06 11:27:49 +08:00 via Android 1
内部流转的就不要反序列化了吧
|
13
a719031256 2021-08-06 11:32:49 +08:00 1
最好去找人家确认一下再改,大家协商着弄比较稳妥点
40 岁的老开发,还不至于做这种蠢事 |
14
auh 2021-08-06 11:50:28 +08:00 2
我建议你尊重别人的一切行为。包括他的私欲。更正一个人很难。想思考一下能不能兼容一下他
|
15
bingyiyu OP @a719031256 不,他就是懒
|
17
bingyiyu OP @NjcyNzMzNDQ3 哎我咋管不住我这手呢,老大哥搭了框架但是一些基建啊规范啊还是不是很到位。我看到了就忍不住改
|
18
del1214 2021-08-06 12:06:40 +08:00 1
看透人生的表现
|
19
webmasterisadog 2021-08-06 12:08:23 +08:00 2
@bingyiyu #17 兄弟,你这想法很危险,也不成熟。容易碰钉子。
建议你 听听 #8 的意见。 等到你由你全权负责一个项目的时候,你再这样做。 如果是刚出来没多长时间,建议在自己能控制的领域,好好表现。 |
20
chairuosen 2021-08-06 12:09:46 +08:00 1
谁改出的问题继续由谁改,把 BUG 转他
|
22
webmasterisadog 2021-08-06 12:11:20 +08:00 1
|
24
fredli 2021-08-06 13:03:02 +08:00 1
继续杠,技术问题有把握没什么可让步的
|
25
pinkSlime 2021-08-06 13:10:23 +08:00 1
时光荏苒 最终我们都会变成 40 老大哥
|
27
zliea 2021-08-06 13:26:28 +08:00 1
master 权限全收回。
其实我一直不理解为啥全局返回统一结构不统一处理,让业务专注业务不好么? |
28
bingyiyu OP @ztechstack 我也不知道,刚 node 转 java 。测试给我提 bug 的时候,我才意识到 feign 内部服务异常未统一处理,再加的拦截器,自认为思路应该是没问题的,总不能每个调用的地方都插个 ifelse 判断状态码吧哈哈,太蠢了。
|
29
zliea 2021-08-06 13:40:36 +08:00
@bingyiyu feign 这个我没细测试过,之前一直用的 resttemplate,如果需要专门处理就自己实例化一个 resttemplate bean 。讲道理 feign 的 configuration 应该是能够在每个 client 上指定的,但 configuration 不能添加 @configuration,添加了肯定就是全局的。
其实我的意思就是老大哥那边的框架应该进行统一封装,如果让我来做的话,每个接口封装一下 response,我也很不爽。 |
30
gablic 2021-08-06 13:42:41 +08:00 2
40 了还在看代码,是个狠人建议你别惹
|
31
hcen1997 2021-08-06 13:50:16 +08:00 1
@bingyiyu 之前我在的某外包项目就是 http 服务组件写了很多, 每一个调用的地方插入 ifelse
要考虑到所有人的技术水平, 说不定有人就是习惯了复制 ifelse 呢? 我还是推荐在自己的代码和模块中保持自己的坚持(如果你能坚持的话) 但是和其他人一起的部分, 就要遵守惯例, 不要动 |
32
darknoll 2021-08-06 13:51:38 +08:00 1
在 master 上写代码就很强势,我喜欢
|
33
stillyu 2021-08-06 14:27:04 +08:00
40 岁,已经完成了原始积累,来上班就是混日子的
|
34
a719031256 2021-08-06 14:41:07 +08:00 3
@hcen1997
我才开始敲代码时也很鄙视 ifelse 写法,现在我很喜欢这种写法,简单暴力不会出错,有更多空闲时间摸鱼搞自己的东西,现在的心态就是工作是工作,工作一切以实用为主,剔除掉一切不稳定的因素,避免浪费自己太多时间,也避免加班,996 之类的情况 |
35
ckdxc 2021-08-06 14:44:34 +08:00 1
先把自己那个拦截器改回来, 然后再把他没有用包装类那个 bug 转给他
|
37
X0ray 2021-08-06 16:28:31 +08:00
@stillyu 你 40 岁就能完成原始积累?太猛了。
我 40 岁房贷还没有还一半。积蓄的话,顶上天了也就 100 w 左右。100w 能干啥是个问题。 |
38
X0ray 2021-08-06 16:29:53 +08:00
我建议楼主不要去杠,做好准备换一个公司,对大家都好。
|
39
hodur 2021-08-06 21:13:08 +08:00
decode 可以细到 client 粒度,都返回 repsonse 对象并不好.
看了一些回复,这样的老大哥不是个例 |
40
xiaoming1992 2021-08-06 22:19:45 +08:00
我们也有项目中在接口调用的时候插入 if else 判断状态码,我的解决方案是自己另封装一个 http 请求函数,只在自己负责的部分使用,尽最大可能不碰其他人的代码,不给自己找事
|
41
dayeye2006199 2021-08-07 01:40:15 +08:00
建议先对代码 review,分支合并先有一套规范再说。直接往 master 上面推代码怎么看都不是个好事儿
|
43
crclz 2021-08-07 09:38:08 +08:00
@bingyiyu 那你就让他在 master 写好了,估计他也不会使用除了 commit 和 push 以外的功能。你把发布分支换为另一个分支,例如 release 。
|
44
crclz 2021-08-07 09:57:08 +08:00
@360511404 其实小团队可以采用 trunk-based,即大家都在 master 上面写代码,优势是保证持续集成(集成=代码合并+单元测试+xx 测试),利于防止那种几周都不合并的代码。
|
45
vone 2021-08-08 13:01:28 +08:00 1
1 、你是刚 node 转 java
2 、基础框架搭建是这位老员工的负责,非你的职责范围 3 、你在没有和上级沟通的前提下修改了基础框架,在全局范围内产生了破坏性升级 4 、修改后可能没有进行汇报和宣导(老员工不知情) 5 、过于看重技术,对其他同事缺少尊重 |
46
IamUNICODE 2021-08-08 15:05:40 +08:00
我一个人也不在 master 上改代码,分出一个 dev,分出一个自己,会污染自己代码的特殊功能再分一个
|
47
jones2000 2021-08-09 00:47:39 +08:00
沟通下, 不能协商的话,就根据的原来的坑继续写. 前人挖的坑, 你不用去填, 继续往下挖, 挖到不能挖的时候自然有人给你填坑你的, 有大佬在前面挡子弹怕什么, 继续挖.
|
48
bingyiyu OP 今天老哥又往 master 上提未编译通过的代码了。忍不了,部门群里 @他和领导了。
我都给在项目里配了 githook push 自动编译都不用,这事情也不是第一次了 master 上不给直接提交的事情也提过好几次了 老顽固无疑了 |