V2EX qrobot
 qrobot 最近的时间轴更新
qrobot

qrobot

V2EX 第 548928 号会员,加入于 2021-06-21 14:10:57 +08:00
qrobot 最近回复了
Extensibility 和 Decoupling 都把项目搞复杂化了, 大部分接口几乎永远不会变化的。 就算变化的接口几乎就是重写。 甚至还要改参数。 所以 Extensibility 和 Decoupling 的意义在于什么? 过度设计的产物。软件开发不可能通过 Extensibility 和 Decoupling 来提升所谓的可维护/可替换/提高灵活性. 实际上这些都是需要人来进行维护的。 软件设计不可能一成不变,而是在重构, 在重构. 在复用在重构。
@jarryli 所以多态能解决什么问题? 不仅仅不能解决问题,反而增加新增负担。 做 Java 第一堂课就是 Favor composition over inheritance , 还在这里整 extends 就说明 Java 没学好, 或者 阿里味太浓
// 1. 构造函数
function A() {}
function B() {}
function C() {}
function D() {}

// 2. 原型链继承
B.prototype = Object.create(A.prototype);
B.prototype.cOnstructor= B;
C.prototype = Object.create(B.prototype);
C.prototype.cOnstructor= C;
D.prototype = Object.create(B.prototype);
D.prototype.cOnstructor= D;

// 3. A 的原型方法
A.prototype.show = function(obj) {
if (obj instanceof D) {
return "A and D";
} else {
return "A and A";
}
};

// 4. B 的原型方法(核心修正点)
B.prototype.show = function(obj) {
// 模拟 Java 的 A ab = new B() 这种引用类型限制
if (this._asTypeA) {
// 在 A 的视角里,只有 show(D) 和 show(A)
// 传入 b 或 c ,在 A 看来都只能匹配到 show(A)
if (obj instanceof D) {
return A.prototype.show.call(this, obj);
}
return "B and A"; // B 重写了 A 的 show(A)
}

// 模拟 B 自己的视角 (B b = new B())
// B 拥有 show(B), show(A),并继承了 A 的 show(D)
if (obj instanceof B && !(obj instanceof D)) {
// c 也是 B 的一种,所以进入这里
return "B and B";
}

if (obj instanceof A && !(obj instanceof D)) {
return "B and A";
}

// 剩下的交给父类 A 处理(比如处理 D )
return A.prototype.show.call(this, obj);
};

// --- 测试验证 ---
var a = new A();
var b = new B();
var c = new C();
var d = new D();

// 模拟 A ab = new B();
var ab = new B();
ab._asTypeA = true;

console.log("1) " + a.show(b)); // A and A
console.log("2) " + a.show(c)); // A and A
console.log("3) " + a.show(d)); // A and D
console.log("4) " + ab.show(b)); // B and A (模拟引用类型为 A)
console.log("5) " + ab.show(c)); // B and A (模拟引用类型为 A)
console.log("6) " + ab.show(d)); // A and D
console.log("7) " + b.show(b)); // B and B
console.log("8) " + b.show(c)); // B and B
console.log("9) " + b.show(d)); // A and D
console.log("10) " + ab.show(a)); //B and A

秒了, 下一题
@shmilyyan 不是啊, 都不用干掉仓库, 咋证明仓库是你的? 咋证明是你提交? 按照这个逻辑公司提交代码诬陷你说你泄露的也要认吗? 除非你亲自承认, 否则拿你没办法。 不然为啥让你写 "道歉书", 写了道歉书就能起诉你了。 何至于发律师函给你?
任何一个社会,任何一个国家都不能有一个 “不结婚的社会”, 因为这样就没有了人口。 多玩玩策略游戏就知道了。 要发展最重要的就是人口。
1 月 21 日
回复了 mk3s 创建的主题 职场话题 一醒来就吃了个大瓜
@mogutouer #107 AI 直接写完,12000 changes 够你喝一壶了。 你还想着少吃多餐。 你以为 AI 会和你谈架构了。 没给你 push -f 就不错了。 你要是要看注释里面有 ai 注入的提示词, 够你在来喝一壶了
1 月 21 日
回复了 mk3s 创建的主题 职场话题 一醒来就吃了个大瓜
@mogutouer #108 用开源库,不看它的代码吗? 供应链投毒,就够你吃一壶了。 只能说你见识太少了。 为啥要锁版本, 为啥开源项目引入项目需要找公司进行代码审计。 要么你就是学生, 要么你就没参与过项目开发。
1 月 21 日
回复了 mk3s 创建的主题 职场话题 一醒来就吃了个大瓜
@mogutouer 说的非常到位, 当然 opus 4.5 也需要花至少一半编码的时间来 review ,其他模型至少两倍编码的时间,有这时间 review 我代码 + 单元测试 + 测试数据 全部都写完了。
1 月 21 日
回复了 mk3s 创建的主题 职场话题 一醒来就吃了个大瓜
@Leeeeex 我可能是一个老古董把, 用不来你说这种方式。我觉得信任别人生成的代码是一件非常可怕的事情, 包括自己的写的代码我都会审查和重构。 至于 AI 生成的代码, 我只能说 "仅仅只是玩具" 我至今没看到优秀的 AI 生成的代码, 大部分情况下,毫无架构/设计, 只是零碎的拼成一个庞大仿佛一脚揣上去就会倒塌的大楼。
1 月 21 日
回复了 mk3s 创建的主题 职场话题 一醒来就吃了个大瓜
@Leeeeex 你要说 github copilot pro 很垃圾, 那我就无话可说。 各个模型我都测试过, 只有 chatgpt4o 是符合我的预期的
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2248 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 19ms UTC 00:56 PVG 08:56 LAX 17:56 JFK 20:56
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