V2EX netabare
netabare

netabare

V2EX member #125600, joined on 2015-07-05 07:57:57 +08:00
关于在 Java 里面实现命名参数的一些想法
程序员    netabare    Aug 16, 2025    Lastly replied by xuanbg
8
netabare's recent replies
@yifangtongxing28 说个更难听的实话,这个老板现在对 op 也没任何价值了。
代码复杂度本来就不能用行数来衡量。
我倒是会觉得,这个问题在我这里会换个角度 formulate ,也就是「我是不是必须要牺牲自己的真诚来换一次面试机会」?

如果这样的话,那我会觉得我还挺失败,变成了没用的中年 senior 了。

而且五年也太长了吧(
感觉没啥好的选择,我现在在其他功能都迁移到 Zed 和 CLI 后,IDEA 留着似乎真的就是为了那个 git 插件,不光是 diff 和解决冲突,还有 rebase 工作流、squash 、cherry pick 和随便开分支,比手敲命令还舒服。

而且 JB 最近似乎更新了 interactive 的 UI ,用起来很舒服。

说实话,哪怕官方开源个单独的客户端我也会怀疑会不会没 IDEA 自带的舒服,毕竟做单独的客户端很可能会搞出个不同的设计吧。
别的操作系统里直接就能做的事情,还要「推送」,还要「多次暂停」。

这味也太重了。
感觉不如 Type driven ,我对 spec 的态度是不信任。

因为代码和项目复杂后,spec 基本上没人遵守。
其实这个就是模块化、抽象和把复杂项目拆成很多小元件的本意。只可惜软件工程讲究的就是个叠床架屋,所以最后设计模式、架构一个比一个复杂搞得云里雾里,封装和抽象全往加 accidental complexity 去了。

op 这个做法算是用 AI 正本清源了。

其实也想到我自己前段时间工作上遇到的一个事情,但并不是 AI ,大概就是做的项目的 runtime 的 hypothesis 很不好控制,同时又要为 library 和框架的后续可扩展性思考,又要满足客户稀奇古怪的运行时要求,又不希望被客户的屎山业务倒灌把项目搞成 day 0 legacy 。

我那时候的思路倒不是拆 project (毕竟还是我自己在做),而是一个 repo 几个模块互相独立做,UI 和渲染都去掉了,直接在 vue 里写 TSX 打出 div 「看着表格假设他是个可视化组件」,响应式对上了再把渲染库插进来,然后立刻断网把缺的数据和实现全 fake 堵上,直接做出一个跟客户 app 对标的最小 app ,做完立刻把客户那坨狗屎接进来然后看看能不能把这个 app 换成「符合客户要求的最小 app 」。

全程我给我自己的要求是:不写任何「整合、修补、migrate 代码,尤其是对接不同的运行时和框架的,如果有一行,说明我写坏了」。然后就让 TS 类型体操来帮我把这一堆模块串起来。

然后就把去年两个团队定义了一大堆架构都搞不下来的任务一次性打通了。

所以我想,如果 op 那边能保持两个仓库之间有很强的隔离性质,其实这个思路还是蛮好,甚至可能都非常适合 AI 的。我这边那时候做那个项目做完整个人都不好了,要是那时候能让 AI 帮忙分担啥就好了(可惜不能)。
About     Help     Advertise     Blog     API     FAQ     Solana     1179 Online   Highest 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 22ms UTC 23:15 PVG 07:15 LAX 16:15 JFK 19:15
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86