Android Notes思码逸问题处理记录

 更新时间:2022年10月10日 08:52:39   作者:贺大biu  
这篇文章主要介绍了Android Notes思码逸问题处理记录详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

前言

从年初开始,我司便开始将思码逸作为了 OKR 必选项,从开始的抵触,到现在的坦然,也算是被锤之路...

简单附上对应问题解决的思路或者方式,以便于小伙伴类似直接操作。

个人对于思码逸的看法,其实多属于还是基于阿里一些规范,虽说有点繁琐,甚至有些许难受,长远来看,未尝不是一件好事儿。

点滴做起,基于思码逸,一起来改善自己代码吧~

先附上阿里编码指南:

p3c

Static non-final field names should comply with a naming convention

提示如下:

大概的意思就是静态非 final 命名不规范,这里直接追加 final 即可。

Jump statements should not be redundant

问题代码如下:

提示如下:

Jump statements such as return and continue let you change the default flow of program execution, but jump statements that direct the control flow to the original direction are just a waste of keystrokes.

Fix:

  • 独立出来,不满足条件直接 return 即可。

Deprecated code should be removed

问题代码如下:

提示如下:

  • 此规则旨在用作跟踪标记为已弃用的代码的一种方式。弃用的代码最终应该被删除。

Fix:

  • 历史包袱,只能看具体代码,具体分析,如果有替代则使用推荐的。(真是一句废话...

Unused method parameters should be removed

问题代码如下:

提示如下:

  • 未使用的参数具有误导性。无论传递给此类参数的值如何,行为都是相同的。

附上对应代码图:

当然以下是一些例外情况:

  • that are annotated with @javax.enterprise.event.Observes
  • in overrides and implementation methods
  • in interface default methods
  • in non-private methods that only throw or that have empty bodies
  • in annotated methods, unless the annotation is @SuppressWarning("unchecked") or @SuppressWarning("rawtypes"), in which case the annotation will be ignored
  • in overridable methods (non-final, or not member of a final class, non-static, non-private), if the parameter is documented with a proper javadoc.

[p3c]To judge the equivalence of floating-point numbers, == cannot be used for primitive types, while equals cannot be used for wrapper classes.

问题代码如下:

提示如下:

  • 浮点数之间的等值判断,基本数据类型不能用 == 来比较,包装数据类型不能用 equals 来判断

如何 Fix?

  • 本质理解为一个精度问题,例如某些情况下 0.1 和 0.111 是相等的。

只需要将原本的 == 替换为 Float.compare(a,b) == 0 即可。

Others 知识点回顾:

回顾基本数据类型和包装类型:

基本类型包装类型
booleanBoolean
charCharacter
intInteger
byteByte
shortShort
longLong
floatFloat
doubleDouble

而它们之间区别如下:

  • 基本类型均有默认值,而包装类型初始化则是 NULL。也就是说基本类型可以用直接使用,而包装类型必须实例化后才可以使用;
  • 包装类型实际是对象的引用,new 一个包装类型的时候,实际上生成了一个指针指向此对象,而基本类型则事直接存储数据值;

这里额外回顾下 == 和 equals 区别吧:

  • == 对于基本类型来说是比较值,对于引用类型来说则是比较引用地址;
  • equals 默认情况下是比较引用地址,只是很多类重写了 equals 方法,比如 String、Integer 等把它变成了比较值,所以说一般情况下 equals 比较的是值是否相等。

THK

以上就是Android Notes思码逸问题处理记录的详细内容,更多关于Android Notes思码逸问题处理的资料请关注脚本之家其它相关文章!

相关文章

  • Android Toast通知用法实例详解

    Android Toast通知用法实例详解

    这篇文章主要介绍了Android Toast通知用法,集合实例形式详细分析了Toast通知的基本使用方法与常见显示布局效果实现技巧,需要的朋友可以参考下
    2016-07-07
  • Android 通过cmake的方式接入opencv的方法步骤

    Android 通过cmake的方式接入opencv的方法步骤

    这篇文章主要介绍了Android 通过cmake的方式接入opencv的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Android studio自定义对话框效果

    Android studio自定义对话框效果

    这篇文章主要为大家详细介绍了Android studio自定义对话框效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Android模仿实现微博详情页滑动固定顶部栏的效果实例

    Android模仿实现微博详情页滑动固定顶部栏的效果实例

    这篇文章主要给大家介绍了关于利用Android模仿实现微博详情页滑动固定顶部栏效果的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。
    2017-11-11
  • flutter实现头部tabTop滚动栏

    flutter实现头部tabTop滚动栏

    这篇文章主要为大家详细介绍了flutter实现头部tabTop滚动栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Android补间动画基本使用(位移、缩放、旋转、透明)

    Android补间动画基本使用(位移、缩放、旋转、透明)

    这篇文章主要介绍了Android补间动画基本使用(位移、缩放、旋转、透明),补间动画就是原形态变成新形态时为了过渡变形过程,生成的动画
    2018-05-05
  • 一个简单的toolabar结合drawlayout使用方法

    一个简单的toolabar结合drawlayout使用方法

    这篇文章主要为大家详细介绍了一个简单的toolabar结合drawlayout的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 一款适用于Android平台的俄罗斯方块

    一款适用于Android平台的俄罗斯方块

    这篇文章主要为大家详细介绍了一款适用于Android平台的俄罗斯方块,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Android使用xUtils3.0实现文件上传

    Android使用xUtils3.0实现文件上传

    这篇文章主要为大家详细介绍了Android使用xUtils3.0实现文件上传的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Android开发笔记 Handler使用总结

    Android开发笔记 Handler使用总结

    当应用程序启动时,Android首先会开启一个主线程(也就是UI线程),主线程为管理界面中的UI控件,进行事件分发
    2012-11-11

最新评论