消灭 Java 代码的“坏味道”(13)
正例:
1.7.频繁调用 Collection.contains 方法请使用 Set
在 java 集合类库中 , List 的 contains 方法普遍时间复杂度是 O(n) , 如果在代码中需要频繁调用 contains 方法查找数据 , 可以先将 list 转换成 HashSet 实现 , 将 O(n) 的时间复杂度降为 O(1) 。
反例:
正例:
2.让代码更优雅
2.1.长整型常量后添加大写 L
在使用长整型常量值时 , 后面需要添加 L , 必须是大写的 L , 不能是小写的 l , 小写 l 容易跟数字 1 混淆而造成误解 。
反例:
正例:
2.2.不要使用魔法值
当你编写一段代码时 , 使用魔法值可能看起来很明确 , 但在调试时它们却不显得那么明确了 。 这就是为什么需要把魔法值定义为可读取常量的原因 。 但是 , -1、0 和 1 不被视为魔法值 。
推荐阅读
- 新世界|《新世界》爆出恶性踢人Bug,直接聊天窗发代码
- 神秘代码|MSJOY神秘代码调侃三大女解说,小彤发图自嘲,风筝一招制敌
- 地下城与勇士|DNF:玩家意外开启GM模式,装备竟自带一串神秘代码,全服唯一
- 神秘代码|剑网3缘起如约而至
- 神秘代码|可恶,游戏服务器的名字也太香了,这还是家正经的游戏公司吗?
- 我的世界|我的世界:Java种子新出炉,内陆蘑菇岛算什么,这些种子它不香?
- 魔兽世界怀旧服|魔兽怀旧服:拍卖行恶意插件,玩家上万金币凭空消失,慎用WA代码
- 暗黑破坏神|原神:米哈游终于动手了,一个响指,消灭了一半的号贩子
- 上古卷轴5|杀光整個天际省!玩家费时2月消灭整个《上古卷轴5》所有生命
- 侠盗猎车手|史上牵扯最广“屎山”代码:if循环19.8亿次,7年无人敢动!终于被修复了!