首页 新闻 会员 周边 捐助

在java开发规范里面看到这么一句话

0
[已解决问题] 解决于 2017-05-11 10:57

不允许出现任何魔法值 ( 即未经定义的常量 ) 直接出现在代码中。

反例: String key =" Id # taobao _"+ tradeId;
cache . put(key , value);

请问这个反例是啥意思?

JaneEyreWork的主页 JaneEyreWork | 初学一级 | 园豆:11
提问于:2017-04-26 15:12
< >
分享
最佳答案
0

" Id # taobao _" 这个东西 先定义一个常量 再使用

奖励园豆:5
程序员大亨 | 菜鸟二级 |园豆:286 | 2017-04-26 18:13
其他回答(2)
0

value 未定义

BUTTERAPPLE | 园豆:3190 (老鸟四级) | 2017-04-26 15:17

这个编译器会自动识别出错误吧 不应该是规范里面内容吧

支持(0) 反对(0) JaneEyreWork | 园豆:11 (初学一级) | 2017-04-26 15:38

@OSManager: 这应该是基本规范吧,参数使用前先定义。

支持(0) 反对(0) BUTTERAPPLE | 园豆:3190 (老鸟四级) | 2017-04-26 15:42
0

你所谓的反例很正常,你那伪代码的意思就是要把某些信息丢cache中,但这里可能会出现key名字冲突的问题(比如你这里的id与其他缓存的id相同的场景),为了规避这个问题会在各种不同的cache的key前面加前缀进行区分,避免出现前述问题。

Daniel Cai | 园豆:10424 (专家六级) | 2017-04-26 17:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册