jameslan 最近的时间轴更新
jameslan

jameslan

V2EX 第 211530 号会员,加入于 2017-01-20 06:48:01 +08:00
jameslan 最近回复了
1 天前
回复了 HuPu 创建的主题 Java List list=new ArrayList 写法的意义是什么
就是教条。从语言设计者到使用者。Java 里面类似的蠢东西一抓一大把。

面向接口编程本身是很好的,但是你得搞清为什么:其目的是为了封装时的解耦合。也就是说,参数类型为接口时,调用者有最大的自由,选择传入什么对象。当外部需要改变时,无需改动封装好的代码( open - close 原则)。

但是其实还有另外一个问题 - 过度优化:完全没有多态需求的地方,比如一个非常 local 的 class ,也非要弄一个接口,说是以防将来变化。其实接口根本不稳定,每次都要改接口定义,还额外加了很多行代码。

说回这个局部变量。一个 scope 只在 method 内部的对象,create 之后,要立刻“忘掉”对象的类,只“记得”接口,这真没太大意义,毕竟一个 method 也没多大(理论上)。而且因为其局部性,对多态完全无影响。对大家熟知的类和接口,像 List 和 ArrayList 也就罢了,其他类和对象也这么搞,实在是脱裤子放屁。

至于说修改的时候方便一些,的确是的。但是 1.都怪这狗屎语法(我记得 Java7 加 diamond operator 的时候有过讨论,但是就是决定弄成现在这个样子,而不是抄 C#加一个 var 。目的是让程序员肉眼检查类型,这 design taste 也是没谁了。现在加上 var 了,啪啪啪,脸疼不?) 2.不用 IDE 的吗? 3.修改这玩意的概率有多大?所以 1.善用 var ,2. List ArrayList 的不用想的,这样写也就罢了,别的真没必要。

PS: List ArrayList, LinkedList 完全就是 Library 设计的问题了。List 接口给了 random access ,结果一个类 O(1), 一个类 O(n),你这让人怎么面向接口编程。。。。
94 天前
回复了 EvilDevilJin 创建的主题 Apple M1 Pro 和 M1 Max CPU 性能是否一样?
@neptuno 这就重啊, 当年 15 寸 17 寸 还不是窄边框,还有个光驱。然后比起 dell 之流还算是轻薄的
186 天前
回复了 ghmum 创建的主题 Apple iPhone XS 该升级 14.6 吗?
刚升了 14.7
难道不是 high contrast 吗
260 天前
回复了 ArthurBL 创建的主题 推广 这样设置,让你的 IDEA 好看到爆炸
@liberize 都要支持才行。排版基本需求:fi ffi 这种。排版软件 20 年前就支持了。IDE 的支持和 code font 不到 10 年
2020-09-24 06:27:33 +08:00
回复了 noble4cc 创建的主题 Java 高性能的 rpc 通讯协议在实际应用中比 restful 的方式快多少呢?
有的时候只是为了有个明确的 schema

不用 schema 的 json 最开始的时候当然爽,但是之后的兼容性维护要付出不少精力的。

到底用哪个,需要仔细考虑
2020-07-05 07:01:30 +08:00
回复了 imdong 创建的主题 问与答 想问下你为什么选择 or 拒绝非标准键盘?
@zimhy 用了一阵子 ergodox,键位不标准,确切的说,是键位不太够,好多键得挪位置。有点不爽。

好不容易适应了键位,我发现我指根关节疼。应该是键帽不错位造成的。只好停用了。

这两个是我觉得最大的问题了
2020-06-27 12:03:59 +08:00
回复了 GTD 创建的主题 macOS 我天!苹果决定全部 mac 转移到 arm 了?这会造成什么影响呢?
@wdhwg001 死心吧,Rosetta 2 不支持虚拟化
还温过? 基本上一直只有一口气吊着吧。

JavaScript 不香吗?
2020-06-18 00:38:14 +08:00
回复了 johnnyNg 创建的主题 MacBook Pro mac 外接显示器显示不完全
HDMI? hp 显示器有一个切边的功能,忘了叫什么了,是给电视信号准备的
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2020 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 02:11 · PVG 10:11 · LAX 18:11 · JFK 21:11
♥ Do have faith in what you're doing.