android开发慎用boolean型变量

        猴子之前比较喜欢使用boolean型变量,感觉用起来还是比较方便的。直到膝盖中了一箭。简单说一说boolean型变量的弊端。

        首先,环境不兼容。猴子是搞android开发的,昨天加班的时候,后台的哥们把我拉到他们项目组里面去,这样方便我查看请求参数,当看到一个String类型变量的注释上说这个变量有两种取值“true”和“false”,我问他们:“这是什么鬼?”,答曰:“ios的boolean型变量不是true和false”。

       其次,扩展性问题。boolean型变量只有两种取值,这就使得这个变量的扩展型受到极大的约束。以前做一个彩票的项目的时候,在详情里面有一个中奖状态的信息。我就和后台商量,这个给我返回一个boolean型变量吧。后台的哥们还挺乖。后来,我们产品经理大脑语言中枢神经突然抽搐,让我们把这个中奖状态改成,未开奖,未中奖,以中奖三种状态。boolean型变量的极差的的扩展性的劣势直接显现了出来。这个修改可是一个大工程。

更让人恶心的一个问题是,如果你在javabean中,定义一个boolean 型变量,isxxx的话,自动生成的get、set方法,会生成一个返回值为 boolean 类型的isxxx()方法,这个方法相当于其他类型的get方法,但是由于isxxx()这个方法,会自动生成一个只读的xxx字段,猴子的网络请求中,服务端是对所有字段做强校验的,接口中没有定义xxx字段,结果请求失败了。

       最后,sqlite数据库也不支持boolean型变量,存储boolean型变量时需要做一个转换。这对抽象编程来说会增加其复杂性,当然无所不能的程序猴子是可以解决这个问题的,但是本猴子还是认为多一事不如少一事,尤其是前期开发时间比较紧张的时候。

       effectivejava推荐,遇到boolean型变量的时候最好使用枚举代替。

          

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值