编码编成翔的十八般兵器(中)

7. 我不走正道,因为我是个光荣的产翔侠

还有些人,不知道从哪里学会的邪门歪道,喜欢通过在捕获异常里写业务逻辑。对这种人,你九阴真经练成了梅超风啊。

public DateTime override Add(TimeSpan ts) {
  try {
    return base.Add(ts);
  }
  catch (ArgumentOutOfRangeException nb) {
    // calculate how much the MaxValue is exceeded
    // regular program flow
    TimeSpan saldo = ts - (base.MaxValue - this);
    return DateTime.MinValue.Add(saldo)
  }
  catch(Exception anyOther) {
    // 'real' exception handling.
  }
}

我就想问问,如果以异常来控制流程,那么如何在这些异常中寻找真正的异常情况?

8. 为了我走之前不出意外,我要捕获所有的 NPE

有些哥们儿会把 NPE 捕获住,恩,不解决问题,但是把提出问题的人给解决了。

private static void callInstanceMethodOfNull() {
  try {
    Integer age = null;
    age.toString();
  } catch (NullPointerException exception) {
    Logging.log(exception);
  } catch (Throwable exception) {
    Logging.log(exception, false);
  }
}

但是呢,这在正常的业务逻辑里很可能就把别人坑了,因为 Null 本身就是代表着一种非法状态。拿着前朝的剑斩今朝的官,包大人干的好啊。

9. 一个方法我如果写成一万行,公司一定会倒闭的

有些朋友可能有分离焦虑症,一个方法里能写上 1 万行代码。对不起,读书读几页都会犯困,读你这一万行代码……

10. 我要把所有业务逻辑都揉进几个类里,就好像女友第一次来我家

有些哥们,你看看他负责的项目,你发现整个项目没几个类。你很纳闷,觉得业务很复杂,竟然可以实现的如此简单吗?你再打开他的类看源码,哦豁,这就是个垃圾箱啊,什么都能往里塞啊。

哥们儿,这不是女朋友去你租的房子里,你为了显得干净,把你那些垃圾到处塞啊。

11. 是男人就来看我继承一百层类

有些爷爷不知道怎么想的,在他们眼里可能只有儿子和老子,一个类很不得搞一百层的类继承。你这样继承,您家万贯家财还能遭得住吗?

12. 如果我不用缓存,我就能多浪费公司的几台服务器

还有些哥们儿,明明知道他这个功能可能被频繁访问,比如登录的时候查相关的白名单、黑名单。哥儿们儿知道并发量大,可从来不想套个缓存,就是死从数据库里要数据。数据库想:生产队的驴也没我这么忙啊。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值