消灭 Java 代码的“坏味道”(18)
正例:
2.14.过时代码添加 @Deprecated 注解
当一段代码过时 , 但为了兼容又无法直接删除 , 不希望以后有人再使用它时 , 可以添加 @Deprecated 注解进行标记 。 在文档注释中添加 @deprecated 来进行解释 , 并提供可替代方案
正例:
3.让代码远离 bug
3.1.禁止使用构造方法 BigDecimal(double)
BigDecimal(double) 存在精度损失风险 , 在精确计算或值比较的场景中可能会导致业务逻辑异常 。
反例:
正例:
3.2.返回空数组和空集合而不是 null
返回 null , 需要调用方强制检测 null , 否则就会抛出空指针异常 。 返回空数组或空集合 , 有效地避免了调用方因为未检测 null 而抛出空指针异常 , 还可以删除调用方检测 null 的语句使代码更简洁 。
推荐阅读
- 新世界|《新世界》爆出恶性踢人Bug,直接聊天窗发代码
- 神秘代码|MSJOY神秘代码调侃三大女解说,小彤发图自嘲,风筝一招制敌
- 地下城与勇士|DNF:玩家意外开启GM模式,装备竟自带一串神秘代码,全服唯一
- 神秘代码|剑网3缘起如约而至
- 神秘代码|可恶,游戏服务器的名字也太香了,这还是家正经的游戏公司吗?
- 我的世界|我的世界:Java种子新出炉,内陆蘑菇岛算什么,这些种子它不香?
- 魔兽世界怀旧服|魔兽怀旧服:拍卖行恶意插件,玩家上万金币凭空消失,慎用WA代码
- 暗黑破坏神|原神:米哈游终于动手了,一个响指,消灭了一半的号贩子
- 上古卷轴5|杀光整個天际省!玩家费时2月消灭整个《上古卷轴5》所有生命
- 侠盗猎车手|史上牵扯最广“屎山”代码:if循环19.8亿次,7年无人敢动!终于被修复了!