1
qaz168000 Aug 23, 2021
不是做 java 的,但是感觉这其实也是一种趋势,数据结构和内容其实也只有输入端和接收端才会关心,最多也就加个 filter 会关注
|
2
ztcaoll222 Aug 23, 2021
那么问题来了,一开始为什么要这么做
|
3
Chaitanya Aug 23, 2021 开发一时爽,维护火葬场
|
4
thtznet Aug 23, 2021
动态一时爽...
|
5
egfegdfr Aug 23, 2021
我们隔壁组也这么些,有几次和他们一次查问题,查到奔溃。所以 自己这边严格控制 map 的使用(具体看业务情况),看到不合理的 会让大家改了。 这个还是看第一版的开发人员习惯吧
|
6
liaojl Aug 23, 2021 via iPhone 我们组也是一样,入参各种 map,出参一律 object,有时想知道这个 return 的 object 是什么类型的,跟到代码里面才发现,其实也是一个 map,崩溃...
|
7
golangLover Aug 23, 2021 via Android
一开始就不允许这样写啊。。。
|
8
wa8n Aug 23, 2021
之前帮其他项目组救急接触过类似的代码,mybatis 参数、返回值全是 Map,我滴个乖乖,现在还有阴影
|
9
q447643445 Aug 24, 2021
现在代码都生成还有这问题?
|
10
msg7086 Aug 24, 2021
我甚至开始怀疑是不是 Java 圈子里就流行这么做。
手里拿到的组里的代码也是,组件之间全都是 Map<String,String>传参…… 实在不知道为什么不做一个静态类型 POJO 的输入。 |
11
kingfalse Aug 24, 2021 via Android
现在还是不能在少定义一些 bean 的方面有什么好的解决办法
|
12
bthulu Aug 24, 2021
这是 mybatis 带的好头
|
13
xjlnjut730 Aug 24, 2021
不允许用 Map 做出入参就可以了。
我反正项目里从来不用,多定义点 Bean,我觉得都比 Map 好太多。维护性完全不是一个级别的。 |
14
shellic Aug 24, 2021
可能是为了赶工期吧,毕竟老板觉得这个也简单那个也简单,所以小公司小老板用 PHP 这种语言是最合适的
|
15
kbac001 Aug 24, 2021
之前问了下说是开发灵活..
|
16
darrenfang Aug 24, 2021
之前维护的一个 10 多年前的项目就是这样的
|
17
aeiou520 Aug 24, 2021
这个算好..我遇到过,用查库用 jdbc,没有 bean,全 map,接口可以在后台配置,代码存数据库,动态调用.维护怕了
|
18
zhangxh1023 Aug 24, 2021
各种 JSONObject 满天飞的表示也差不多这种感觉。。。
|
19
James369 Aug 24, 2021
javascript 不经常这么做么,java 不是 javascript 的缩写么
|
20
seakingii Aug 24, 2021
可以这么做,也可不这么做,那么问题来了,为什么一定要用 MAP 传参?
|
21
cslive Aug 24, 2021
居然真的有这么干的!!!!
|
23
unco020511 Aug 24, 2021
之前维护过一个类似的项目,一度有了离职的想法
|
24
aneostart173 Aug 24, 2021
你抛弃了编译器,编译器就抛弃了你。
|
25
ccde8259 Aug 24, 2021 via iPhone
前一家一样的问题,二次开发全靠 Debug 看数据。
更可怕的是那些 void func(Map<?,?> map)方法,纯副作用函数…… |
26
122006 Aug 24, 2021
偷个懒直接拿到就 jsonobject 转为实际量就算了,在后续逻辑过程中解析的直接火葬场
|
27
kaneg Aug 24, 2021
所以,很多人为了所谓的灵活,并且懒得定义 bean class,结果自己一时爽,😭了后来人。
|
28
tedzhou1221 Aug 25, 2021
我都怀疑你是我同事。哈哈
|
29
securityCoding Aug 25, 2021
@bthulu 严格来说是 jdbc 搞出来的玩意
|
30
luzemin Aug 25, 2021
面向对象的语言不面向对象编程,就是原罪
|
31
cco Aug 25, 2021
看场景吧,因为我们的查询来源五花八门,字段也是非常的多,所以 前台 - > 接口 <- DB 都是使用 Map 传参,返回 List<Map>,恶心吗?的确恶心,但是这应该是目前开发场景的最优解。如果把这些都用对象替代,那么光定义对象就得一大堆,并不比 Map 好用。
|
32
a719031256 Aug 25, 2021
老代码?
以前遇到过这种情况,那个项目据说是一个人写后端,web 端,安卓端,外加时间短才导致代码很烂 |
33
nanmu42 Aug 27, 2021
我一般写 Go,最近有些 Flink 需求学着写一些 Java,感觉是不是因为 Java 里不习惯把 struct(class)当成纯粹的数据载体?以及 Java 里定义 class 比较麻烦?
Go 里如果数据结构是确定好的话,一般是从 JSON 直接解析到 struct (对应 Java 的 POJO ),字段和类型都是固定的,而且 struct 定义比较方便,一般没有这个烦恼。 |
35
liian2019 Aug 27, 2021
维护起来不得哭了 方法入参是啥都不知道
|
36
issakchill Aug 30, 2021
曾经在一家银行维护过这样的代码 一个月就跑路了
|
37
hahaFck OP @issakchill 很难想象,银行都写这样的代码。
|
38
seliote Sep 5, 2021
组里也有人这么干,一开始还想管,后面已经懒得管了,不通读代码根本不知道写的是什么玩意
|
39
night98 Sep 26, 2021
强制规范不允许使用 map 作为入参和出参啊
动态语言是动态语言的玩法,静态语言是静态语言的玩法,非要强行融合那必然死的很惨 map 仅适用于参数不固定,例如上下文传递这种,或者是模板入参必须 map,其他场景都是可以用强类型替代的 |