入职某大黑厂,项目全部都是 map 传参,注释不写的那种,100 万代码
兄弟们怎么搞
兄弟们怎么搞
|
1
感受 python (*args, **kwargs)的恐惧吧
|
|
2
轻轻搞,别搞坏了
新需求好好整整,破坏性需求尽量拒,小修小补过日子 |
|
prosgtsrJan 14, 2025
3
我这儿的老 php 代码全是['data']['body']['cotent']['tmp']['ext']传参,一层两层三层的套,和 map 没啥区别。。看的人头疼。。
|
|
potatowishJan 14, 2025 via iPhone
4
java 吗,可能是其他语言转过来的,能实现功能就行,适应下环境
|
|
jeffwJan 14, 2025
5
有什么问题吗?
|
|
hxpmcJan 14, 2025
6
能跑就行
|
|
7
扩展性极强
|
|
fffqJan 14, 2025
8
能跑不,能跑就行
|
|
superedlimitedJan 14, 2025 via iPhone
9
jb idea 可以装个 github copilot 插件,不清楚的地方让 ai 解释一下
|
|
wanniwaJan 14, 2025
10
能跑就行,不用太纠结,你改造的话,出问题还要背锅
|
|
11
我遇到过,都被我重构了,我也会跟开发说这样写带来的问题,慢慢就不会有这种情况了
|
|
freemoonJan 14, 2025
12
慢慢优化,这就是你的价值所在
|
|
13
map 传参没问题但前提是有一份维护的很好的文档或注释,除此之外都是好处
|
|
sagaxuJan 14, 2025
14
|
|
hidemyselfJan 14, 2025
16
我呆过一家公司,所有的实体全部继承自 Map
|
|
17
没问题的,你也别管原来里面有啥参数,你需要啥,就自己再往里加,对应的地方读取就行。
反正都屎山了,不在乎你也拉一坨。 |
|
18
你如果在里面说得上话,那就慢慢整整改改,说不上话,那就代码和你有一个能跑就行。
|
|
19
当你要拉屎的时候附近一般都有屎 -- 鲁达 • 字绍兴
|
|
w950888Jan 14, 2025
20
接手过拿长字符串传参的,满屏的切割,拆分,各种符号拼接,给我看吐了
|
|
21
前人挖坑,侵吞红利,拍拍屁股升职加薪高升了,留下粪坑给后人……
|
|
crysislinuxJan 14, 2025 via Android
23
路过问一下,这个 map 它是 string 到 any 的 map 么,像 interface 那种有类型的感觉还行。
|
|
wogogoingJan 14, 2025
24
看标题,我还以为你在说我们作坊的某些组。(狗头
|
|
visperJan 14, 2025
25
多好,随便加参数不用修改接口...都往 map 里堆。要知道参数作用只能看代码调试代码。
|
|
eijuziewJan 14, 2025
26
我这都是 @RequestBody String data
|
|
27
@0xsui #21 不存在的,这个时候,如果有多年屎山经验,是会避免这种情况的。比如
map.put("username_050114", input_username) 不但不会冲突,而且更为这座屎山增添了独特的风味。 当后人看到此代码时,会为了这串神秘数字而抓耳挠腮(破口大骂) |
|
qingxiangcoolJan 14, 2025
29
写代码不要追求完美,能用就行,不然你会很累的。
|
|
falsemaskJan 14, 2025
30
@crysislinux Java 肯定是 string 到 any 了
|
|
EliStoneJan 14, 2025
31
我上个项目也全是 map 传参,天天加班干,能实现出来就不错了...
前几天我写的新功能,都是 vo ,dto ,为什么呢,因为我要离职了所以慢慢写也没人催我 |
|
yawn852Jan 14, 2025
36
哈哈哈,我们项目也是,而且这个 map 还是全局的,各个方法里面传,你都不知道这个 key 的值在哪个方法里面变动成啥样了
|
|
pigfJan 14, 2025
37
|
|
otakustayJan 14, 2025
38
就当是 js 写项目,多大点事🐶
|
|
ignoreJan 14, 2025
39
上个狠活吧, map.put("sql",CURD)
|
|
xuanbgJan 14, 2025
41
改成实体类接收参数又不费多少事,看不过就自己改
|
|
vultrJan 14, 2025
42
当然是重构啦,我是认真的。
|
|
mumblerJan 14, 2025
43
AI 时代,都不是事儿,用 cursor 打开项目目录,把代码注释补齐了,需要改什么功能让 composer 来,你跟着一起学习
|
|
198plusJan 14, 2025 via Android
44
欢迎使用 dictionary language
|
|
zgrayJan 14, 2025
45
随口问一句,有版本管理吧。你敢信,25 年了,还有大把团队不会版本管理。
|
|
SACKJJKLLJan 14, 2025
47
还好不是汉语拼音
|
|
iShinkuJan 14, 2025
48
前人挖坑 后人搅屎
|
|
volatileSparkJan 14, 2025
49
遇到过,国企项目,历史悠久,还是核心项目。入参都是 map ,反正也不敢乱改,就着这坨屎山完成自己的需求就行了。随大流,没必要纠结。
|
|
qiaobeierJan 14, 2025
50
高情商:只做加法,不做减法
低情商:添屎加尿 |
|
zoharSoulJan 14, 2025
51
@superedlimited #9 ai 完全看不懂这种, 稍微复杂的项目就看不懂 纯瞎编
|
|
AFOXJan 14, 2025
52
能介绍下你面试被问到的问题吗?好奇不是面试造火箭
|
|
issakchillJan 14, 2025
54
小弟有幸也接触过,里面的 key 还要对应字典看...
jdk 是 1.7 好像.... 一个月赶紧跑路了... |
|
ldyisbestJan 14, 2025
55
感同身受。曾经需要往下游传参,设计了清清楚楚的类对象,领导直接否决,要求把对象转成 string ,丢到 map 里面😂。项目里面还充斥着各种 List<Map<String,String>>, 一个方法五个 JSONArray 当参数,一个方法两千行,四千行这种
|
|
listen2windJan 15, 2025 via Android
56
我今天突然发现后端传回前端的字段用的是中文
|
|
thevitaJan 15, 2025
57
所有方法都重写成:
sql.execute( openai.chat.completions.create(, message=["hey, here is my parameters: {paraMap}, funcName: {funcName}, dbSchema={dbSchame}, how can I query data. give me sql"]) ) |
|
netabareJan 15, 2025 via iPhone
58
我之前在做 PL 作业的时候,也发现用 Java 的 Map 可以起到类似闭包作用域的作用。
|
|
JoeDHJan 15, 2025
59
太舒服了,屎山代码可以啃好久了,可以安心混工资了
|
|
redcaJan 15, 2025 via iPhone
60
挺好的,安心混工资,天才设计
|
|
yy306525121Jan 15, 2025 via iPhone
61
见过一个国外的很火的项目的 api ,一个 java 方法搞了一百多个参数,都不知道封装个对象
|
|
shiloh595Jan 15, 2025
62
```java
Map<String, Object> params ``` |
|
yangwaJan 15, 2025
63
map 扩展性好,支持各种修改,实现快多了
|
|
layxyJan 15, 2025
64
map 是简单粗暴,第一个拉屎的人很爽,如果文档健全还可以接受,没文档后面接收需要花费较多的时间和精力了解这段逻辑,而且这玩意儿时间久了自己写的后面也不知道啥逻辑了
|
|
CQCQCQJan 15, 2025
65
有幸见过,所有微服务接口入参都是 jsonstring ,接收后转 map ,用的时候各种 get 再类型转换,最后返回结果再 tojsonstring 。惊呆了,技术负责人说这样方便扩展。。。
|
|
miaotaiziJan 15, 2025
66
你还没见过 mybatis 拼接 sql 拼出上万行的呢
|
|
67
我是否可以这样形容:
有一个巨大的马桶,第一个人建好后,他拉屎很舒畅,因为马桶太大了,根本不需要冲水(不用写文档)。 第二个人过来拉屎,发现挺舒服的。又不冲水了。 经过若干人后,在大的马桶也开始填满了,恶臭味浓厚。但是稍微搅一下,又能往里面拉一坨。。。 |
|
PaulSamuelsonJan 15, 2025
71
这哥们之前该不会是写 PHP 的吧🤔️
|
|
kandaakihitoJan 15, 2025
72
逆天,但是没有太逆天。
我做过一个项目,里面大量接口用 Tuple 套 Map 套 List ,然后里面再包一个 Object 。 顺带再写一堆 left join 了十几张表的 sql 语句,部分逆天的文件里面代码行数达到了 1.2w 行; 而且缺少统筹和分工,时不时出现两个人写了相同 controller 接口,前端都不知道该对接哪个的情况; 那项目真的是做得我乐不思蜀 |
|
thtznetJan 15, 2025
73
往大了说,以后高度智能的 AI 也就是一个 Map 而已。所以,这是符合世界潮流的。
|
|
MaiiiiiiJan 15, 2025
74
见过后端设计接口,请求的时候要传四五十个参数(这个业务所有接口可能用到的所有参数)不管用没用到、是不是这个接口的。然后返回也是这么多参数。还全是拼音的简写,没有文档,只能遇到一个问一个。
|
|
linuxsurenJan 15, 2025
75
|
|
minamiJan 15, 2025
76
|
|
xz410236056Jan 15, 2025
78
别改,你感觉某个 key 可以改成 model ,万一根据业务动态配置,变 key 你就傻逼了。新业务不用就行了
|
|
cliffttsJan 15, 2025
79
这种项目还没崩简直就是奇迹
|
|
gongquanlinJan 15, 2025
80
|
|
yoyolichenJan 15, 2025
81
如果文档也缺失,那就更绝了
|
|
huzhizhaoJan 15, 2025
82
扩展性非常强
|
|
justfortestJan 15, 2025
83
@565656 python 这都不是事,我接手的 go 项目参数、返回值全是 interface ,你敢信?请求全是 map[interface]interface, 一坨大便
|
|
panlistaJan 15, 2025
84
@yoyolichen 都用 map 传参了肯定不会有文档的
|
|
85
我想起了 宇宙第一大行,sdk 里面内置了一个 fastjson.接口全部都是 jsonObject,还必须是他 sdk 包里的那个
|
|
InternetExplorerJan 15, 2025
86
想起了被 PHP array 支配的恐惧
|
|
EriczzZJan 15, 2025
87
看来你不是做 PHP 的
|
|
mxT52CRuqR6o5Jan 15, 2025
88
@foolever #13 有再好的文档也没法和 ide 配合吧,可不是除此之外都是好处,除此之外也还是有很多其他问题的
|
|
shitcodeJan 15, 2025
89
防御性编程,把自己也防进去
|
|
dzdhJan 15, 2025
90
你太幸福了。
没让你维护 1w+个元素还到处传的 php 的数组。key 都是 a111, b2311, _tmp_xxxxx 你就偷着乐吧。 |
|
YJiJan 15, 2025
91
公司服务器上有一个同事跑的他自己的一个项目,我刚手贱把 jar 包下载下来看了一下,入参全是 Map<String, String> map ,响应全是 List<Map> list ,并且有从 1 到 95 命名的 controller 。
|
|
SgyyNeroJan 15, 2025
94
你是幸福了。这玩意你整理一下,优化一下,就可以搞 1 年
|
|
k9982874Jan 15, 2025
95
@justfortest op 这个全 map 见怪不怪了,你这个是真惊到我了,后端这么写是不做人了吗?
|
|
someonedengJan 15, 2025
96
别动他们的,把你的 map 塞进去 ( doge
|
|
ala2008Jan 15, 2025
97
|
|
sankoocJan 15, 2025
98
正经人谁写注释啊
|
|
arelessJan 15, 2025
99
php array lua table 写起来简直太舒服了
|
|
justfortestJan 15, 2025
100
@k9982874 真的很离谱,代码量还挺大不是小项目,我也是第一次接手这种屎山,真不知道这些人脑回路,还没有文档,人也都不在了
|