职场求教:码农行业 同事把api设计得极其难用 除了自己没人能快速上手 怎么办

c
chmod999
楼主 (北美华人网)
新来的同事 可能急于建功立业 自告奋勇推翻以前的设计 但是把api设计的极其confusing 几乎每一个参与develop 模块的人都得先找他培训一阵子 即使这样integrate的时候也是各种出错 还要他去每一个debug 然后加一些specific的fix 我之前埋头忙于别的项目 也没仔细理解和review他的code 大家开会review的时候估计也都被他忽悠的云里雾里 没有明确指出什么问题 最近我开发的模块要和他的integrate了 发现他的architecture导致了很多限制使我这边需要很多messy的workaround才能work 我每propose一些折衷的fix 他就挑刺或者想要推翻我的 propose一些更复杂的fix 就是不肯承认原来的architecture fucked up了 我自己手上的事情很多实在没有精力重新设计一遍api manager本身对技术懂一些但不是特别熟悉 新人是他自己招进来的 所以尽管看到了现在的问题但也只是让想办法做workaround 导致我对这个project非常frustrated 也很后悔当时没有据理力争导致今天尾大不掉的情势 接下来我该怎么办?求建议
h
hahahapapapa
同问,同事做得东西没有unit test,没有integration test的任何接口和设计思想,根本没法修改延展,除了他自己谁都搞不了,function看似encapsulated,但实际上一个接着一个的鸡毛蒜皮输入输出,完全是大小便失禁感。
为这个倒霉破东西我耗尽心血各种提出修改和自己改动,还被manager说我coding不行。但是team里就没谁动过这破玩意儿,promotion的大哥大姐更是从来不碰这种东西,碰到这种破代码大家都怎么搞,实在不想浪费感情还惹一身骚
引用lz”architecture fucked up“ 的鬼玩意!
t
ted.hanks
要么自己从头写一个 要么自己实现一个新的API/client, 把它的实现包起来,提供新的抽象。以后慢慢换。 既然要用到,总得搞清楚怎么用。没办法就escalte, 拉组里senior, manager 一起搞清楚。
h
hahahapapapa
要么自己从头写一个 要么自己实现一个新的API/client, 把它的实现包起来,提供新的抽象。以后慢慢换。 既然要用到,总得搞清楚怎么用。没办法就escalte, 拉组里senior, manager 一起搞清楚。

ted.hanks 发表于 2020-12-10 15:13

组小,非sde,我来的时候说product 设计要有unit test 和integration test,组里的senior都不知道是个什么玩意儿。。。现在人家吃不下这堆垃圾code,manager只会埋怨接手的人
也是,要是有这种基本概念,能写出这么烂的code么?
J
Jicama
我也遇到过,没办法。
折中的办法是起码把 input ouput和各种参数全部都调出来和主code分开,然后要求主code模块化,不同意就escalate到manager, 这是基本要求。
在上述条件都满足后,确定你的东西和哪个模块integrate, 做unit test和integration test.
h
huashan2018
假设你来的时候这个同事已经离职,并且他的代码没有源代码。遇到这种情况你怎么办? 搞了几十年coding还搞不定这个?
t
tankerRock
写个wrapper。所有调用都通过你的wrapper,然后接口,参数你自己设计。
以后或者把wrapper功能充实起来,替代他写的api,让code base 更clean,或者让wrapper更复杂,以后都得找你来培训而不是找他去培训。
a
aiyamayayongle
回复 1楼chmod999的帖子
别人怎么办,你就怎么办,不要想当超人。 否则你就把老同事,新同事和主管都得罪了。
话说把接口程序弄得极其难用,也得花点心思吧。
w
wyest
他写之前没有design review的吗?换个流程规范的公司…
w
wbhmzn
回复 1楼chmod999的帖子
没有 unit test,你就不让他过 code review 啊。
C
CleverBeaver
没办法 我还遇过写个package只支持python2不支持3的
然后一个月后公司宣布2将淘汰。。。
t
ted.hanks
没办法 我还遇过写个package只支持python2不支持3的
然后一个月后公司宣布2将淘汰。。。
CleverBeaver 发表于 2020-12-10 15:47

2to3 migration 其实没有那么痛苦。
C
CleverBeaver
2to3 migration 其实没有那么痛苦。
ted.hanks 发表于 2020-12-10 16:58

I know 但是人家就是不肯support 3
那么多package可以让他都兼容的。。。
凯凯
没有design review吗?
g
gard
写个wrapper。所有调用都通过你的wrapper,然后接口,参数你自己设计。
以后或者把wrapper功能充实起来,替代他写的api,让code base 更clean,或者让wrapper更复杂,以后都得找你来培训而不是找他去培训。
tankerRock 发表于 2020-12-10 15:33

哇哈哈哈