Java 面试题“变量名很长会不会影响执行效率”很难吗?

2018-09-21 09:33:48 +08:00
 yidinghe
8006 次点击
所在节点    问与答
40 条回复
Lateautumn
2018-09-21 09:35:11 +08:00
会吗,
lz234561
2018-09-21 09:41:57 +08:00
不会
hoythan
2018-09-21 09:42:43 +08:00
不会
simonliu2018
2018-09-21 09:45:41 +08:00
那么问题来了,变量名很长很长会影响什么效率?
earther01
2018-09-21 09:45:50 +08:00
java 不会,那么问题来了,python 会影响吗
Sanko
2018-09-21 09:45:55 +08:00
很长是有多长
night98
2018-09-21 09:51:09 +08:00
得看有多长,哈哈
inframe
2018-09-21 09:52:12 +08:00
python 走字典,复杂度是 hash
lht260
2018-09-21 09:53:11 +08:00
到低有多长?
qinxi
2018-09-21 09:55:37 +08:00
@simonliu2018 打字效率
yidinghe
2018-09-21 09:55:48 +08:00
@simonliu2018 影响打字效率啊
amon
2018-09-21 09:57:58 +08:00
效率可以忽略不计,因为编译时都会转成其它字符。
xflicker
2018-09-21 09:58:25 +08:00
不会,但是占地方啊
simonliu2018
2018-09-21 09:58:26 +08:00
语言的规范有变量长度限制说明。
shiyouming91
2018-09-21 10:00:15 +08:00
看虚拟机实现了...不过一般而言对类加载有微小的影响。执行的时候局部变量不会,编译的时候都换成几号变量的数字了。成员变量会微小地影响调用成员变量的方法第一次执行的时候的速度,不过靠谱的虚拟机应该会在这个时候翻译成地址偏移量,因此以后就不会影响了。无论如何等 jit 预热好了就完全不影响了
felixlong
2018-09-21 10:01:04 +08:00
@earther01 你确定不会? 其实某些地方应该是会的。有人用 reflector 访问你的变量了呢?
shiyouming91
2018-09-21 10:02:40 +08:00
楼上说的对,也会影响反射的速度😂😂😂
aihidao
2018-09-21 10:04:50 +08:00
再小的时间也是时间,
滑稽脸
yidinghe
2018-09-21 10:05:38 +08:00
@simonliu2018
@shiyouming91
@felixlong
我这里指的是本地变量或参数啊,跟类名成员名方法名无关,编译的时候都抹掉了。
zhenghuiy
2018-09-21 10:06:29 +08:00
问题是这道题有什么意义么,开发的时候取名应该是在“能不能见名知意”中纠结,而不是变量名的长短吧。比较规范是参考《代码大全》变量名的取名方式,但书中写的都挺长。。日常开发应该比规范得短。(当然你要强行说考这个是为了考察对方对编译过程的理解 balabala。。是在下输了)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/491401

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX