首页   注册   登录

by73

V2EX 第 410301 号会员,加入于 2019-05-08 15:41:55 +08:00
透明
by73 最近回复了
这个主题。。是前一版的 Ghost/Casper 吧 = =
学术界向来如此,搞理论的跟搞工程的不一样。。要求学术界代码水平跟工业界持平,难度是等价于要求工业界的理论水平跟学术界持平。就简单来说,大家经常用语言敲代码,但是有谁能认认真真学下去 PL 的?

扯点题外话,我有幸参观过学校 OJ 的源码,那才叫一个“辣眼”,听闻都是每年找几个毕业生(本科)给这个系统缝缝补补,就当毕设了。一群跟我一样没真正耕过田的去耕田,结果多数就是像楼主贴的这种代码一样。

嘛,上级交给你的工作还是要完成的,大家都是为了一口饭。。
看了半天,是希望获得函数实参的名称? emm 似乎不行,Reflection API 能得到变量名称的似乎只有 `Field` 和 `Parameter`,而且 Parameter 的名称多数都会被编译器优化掉,而而且 `Object... vars` 这个是当作一个 Parameter,而而而且 Java 传参是值传递,完全无法从形参得知实参的元信息。。
杀。。杀鸡用牛刀。。

SpringBoot 其实也不是不行,但是附带的东西太多了,这作者打完整个 FatJar 之后变成了 60 MB。。
10 天前
回复了 RYYang 创建的主题 程序员 我觉得当程序员有点累
996.icu 再看看现在,令人唏嘘,哎
现在讨论这个没有太大意义,Java 为啥“流行”?因为库和屎坑。目前转 Go 等新语言的公司,多数都是从头开干的,但这些公司有多少?前面也有人提到性能问题,说实话,不是每个厂性能都要像淘宝阿里一样百万并发,所以语言带来的性能问题其实微乎其微。

所以将来比较长一段时间,只要屎坑没被清理完毕,那么 Java 依然会保持很大优势。并且清理屎坑这种事情需要大公司花费长时间的人力和物力去做,在 Java 还可堪一用的情况下暂时不太可能出现太大转机,非要预测的话,服务端 Go 可能会更好一些,毕竟背后有一个帝国撑腰,现在新项目趋势比较明显。

(这个问题其实感觉和之前的“为什么 CentOS 仍然是主流”有点类似,都是历史包袱太严重,似乎很多问题都可以归结于历史原因?)
@amiwrong123 嘛,这样的话就会跟 lastRet 的定义( Index of element returned by most recent call to next or previous )以及 remove 的定义( Removes from the list the last element that was returned by next or previous )相违背。

我个人觉得这其实更多的是一个设计上的考虑,也不是啥致命的问题,可能当时有考虑到如 `add(); remove();` 这种二义性问题(该删除最近添加的那个还是 next/previous 的那个,你的问题中直接删除这个方案就是后者,回复中提供的代码就是前者),索性直接搞个 IllegalStateException 规避这种状态的发生。
@amiwrong123 emm 我指的影响是对当前状态的影响(因为你问的是 lastRet ),“add 会影响 previous” 指的是 `previous(); add();` 在执行完 add 之后前面 previous 产生的 lastRet 就无效了。就是说在你**首先**执行完 previous 后,lastRet 指向了返回的值,之后你执行 add 往数组前面插值,那么 lastRet 指向的还是原来返回的值而非刚插入的那个,这是我所说的 lastRet 失效。next 和 remove 同理。

add 之后执行 previous/next 当然都没问题啦,你图片里的 cursor 挺明确的了。
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2257 人在线   最高记录 5043   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 11ms · UTC 14:50 · PVG 22:50 · LAX 06:50 · JFK 09:50
♥ Do have faith in what you're doing.