学习编写高质量JAVA代码

最近正在阅读《编写高质量代码:改善Java程序的151个建议》,顺便做个笔记记录一下以及自己工作中遇到事例,不会按照原书顺序,平时自己比较常遇到先写。

一、开发通用准则

1、不要在常量或者变量中使用容易混淆的字母、更加不要用拼音和英文混用

包名小写、类名首字母大写、常量全部大写并用下划线隔开、变量驼峰命名、不能以下划线或者美元符号开头或者结尾,遵守这些基础的Java编码规范。

例:long变量11写成11l,代码中很容易误以为是111,这地方最好使用写成11L。

2、常量值不要变动

3、三元操作符的类型务必一致

三元操作符如果类型不一样,会进行自动类型转换。

4、子类覆写父类必须符合规矩

a、重写不能缩小访问权限;b、参数必须相同(类型、个数、形式必须相同);c、返回类型必须和被重写方法相同或是其子类;d、重写方法可以不抛出异常或者抛出更少的异常,但是不可以抛出新的异常,或者超出父类的异常。

5、break不可忘记写

switch...case使用中一定要记得加break,(我的习惯是写完case马上写break,之前出过没有写break的BUG,在代码量大还有循环的情况下,debug一步步走找问题也是非常耗时间,同事看了一眼说你没写break,一下才发现。我们编程过程中,特别出bug后加上疲劳,很容易头脑不清晰,很难以一个客观角度看自己代码。)

二、基本类型

1、用偶数做判断、不使用奇数

比如判断一个数不能被2整除,以偶数来判断更不会错误。例如:用奇数判断,-1对2取余会是偶数,大家可以试试。

2、用整数类型处理货币、需要处理浮点数使用BigDecimal

3、涉及类型转换最好用主动申明方式,不推荐让系统默认转换,容易出不必要BUG。

4、注意类型的边界

例:判断一个int值是否<1000,正常来说没问题的,但是如果你输入了2147484647(int类型最大值2147483647),超过了int范围1000值,数字越界会是检验失效。

单元测试中,我们需要去做边界测试,有三个值是必须测试的,0、负的最小值、正的最大值,如果这三个数据都没有问题,方法才是可靠的。

5、使用包装类型需要注意null值,装箱过程中,装入null值是没有问题的,但是拆箱过程中,涉及类型转换,null无法装换,会报空指针错误。

6、包装类型不能用<、>、== 比较大小,这些符号只能用于数字类型判断,包装类型判断的是引用,而不会是大小。

未完待续...

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值