Android 用注解来提升代码质量

Android,注解,annotation

2018.07.13

Android 提供了一个注解的 support 包,这个注解包配合 IDE 可以用来提升我的代码质量,很多人会因为觉得编写代码增加注解会显得很繁琐而放弃掉使用注解,但是却忽略了注解给代码带来的好处。

Android 提供了一个注解的 support 包,一般我们都不需要声明引入,新建项目或者引入其他 Android support 包的话,都会引入这个 support 包。

dependencies {

compile 'com.android.support:support-annotations:22.2.0'

}

使用最新版本就可以了。

这个 support 包有很多注解,建议项目中,能用的尽量都可以用一下。这样可以让工具来帮助你规避风险。

我们平时非常头疼的空指针异常,NullPointerException 一直是我们开发中最常见的问题。

过度保护

过度保护是一个比较常见的情况。在方法外面保护了一次,在方法里面又保护了一次,为什么会这样,因为大家都害怕空指针,所以在写代码的时候,不管会不会碰见,先判断一下再说,形成习惯了。这种情况没有任何的坏处,除了有点浪费和代码量冗余外,没有太多的副作用。

忘记保护

忘记保护是致命的,我们经常会因为这个摔跟头,很多的高级别 bug 都是他引起的。虽然我们以及凭借经验,进行了足够多的空判断了,但是总有那么多些出乎意外的事情发生。

NonNull 和 Nullable

这是两个比较重要的注解 @NonNull 和 @Nullable 。这两个注解在一定程度上,可以帮助我们规避一些风险。比如下面的例子

public void run1(@NonNull String name){

}

public void run2(String name){

}

public void test(){

String name = null;

run1(name);

run2(name);

}

相比 run2(String name) 方法,run1(@NonNull String name) 方法多了一个注解,所以当我们在调用 run2 方法的时候,如果存在 null 的情况,IDE 会对我们进行警告的。(别跟我说程序员可以忽略警告~~)

所以,这些注解的作用是帮助细心的你,发现问题,规避风险。你要不细心没就办法了~~

其他注解

其他注解可能使用频率不会那么高,但是也是很有用的,建议有能力的还是多用心关注一下,没有能力的也要关注。

相关文章

- EOF -

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。

转载请注明:文章转载自 Binkery 技术博客 [https://binkery.com]

本文标题: Android 用注解来提升代码质量

本文地址:https://binkery.com/archives/101002.html

android注解的作用,Android 用注解来提升代码质量相关推荐

  1. @data注解的作用_Java中注解学习系列教程-2

    在上一篇文章中,我们讲解了:Java中注解的定义.JDK中内置注解.第三方注解. 本文是注解系列教程中的第二篇.来看看今天主要内容: ​ 1:注解的分类 2:元注解说明 3:自定义注解声明 一:注解的 ...

  2. Spring注解@NonNull作用 Spring注解@Nullable作用 Spring NonNull 注解作用 Spring Nullable注解作用

    Spring注解@NonNull作用 Spring注解@Nullable作用 Spring NonNull 注解作用 Spring Nullable注解作用 一.概述 在看Spring源码的时候,经常 ...

  3. Android适配器以及作用,Android RecyclerView 通用适配器的实现

    分析 我们需要在RecyclerViewAdapter内部维持一个数据集合的引用 需要实现Item的点击事件,包括短按和长按,并需要向外部提供设置监听器的方法 这个适配器必须通用,所以应该是泛型的,并 ...

  4. android布局的作用,Android UI布局经验总结

    如何在Android中动态设置颜色透明?10%20%到100% Android布局分析工具HierarchyView Android使用include/merge/ViewStub优化布局 List的 ...

  5. @getmapping注解的作用_@Transactional注解失效了?你遇到的是这6种场景吧!

    引言 昨天公众号粉丝咨询了一个问题,说自己之前面试被问@Transactional注解哪些场景下会失效,一时语塞致使面试失败.所以今天简单的和大家分享一下@Transactional相关的知识. @T ...

  6. android 混淆规则作用,Android混淆规则

    简介 Java代码是非常容易反编译的.为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理. ProGuard是一个混淆代码的开源项目.它的主要作用就是混淆,当然它还能对字节码 ...

  7. android minheight的作用,Android 自定义 View 最少必要知识

    1. 什么是自定义 View? 1.1 定义 在 Android 系统中,界面中所有能看到的元素都是 View.默认情况下,Android 系统为开发者提供了很多 View,比如用于展示文本信息的 T ...

  8. Android监听作用,Android开发之CheckBox的简单使用与监听功能示例

    本文实例讲述了Android开发之CheckBox的简单使用与监听功能.分享给大家供大家参考,具体如下: activity_main.xml android:layout_width="ma ...

  9. android scaletype没作用,Android ImageView的ScaleType属性

    参考 ScaleType属性 常量 含义 fitXY 横向.纵向独立缩放,以适应该ImageView fitCenter 保持纵横比缩放图片,缩放完成后将图片放在ImageView的中央 fitSta ...

最新文章

  1. PHP Memcached应用实现代码
  2. k8s多master建议用几个_Kubernetes 教程之跟着官方文档从零搭建 K8S
  3. discuz“附件文件无法保存到远程服务器”故障的解决
  4. Zxing二维码的集成使用
  5. 向前欧拉公式 matlab_你可能不知道的MATLAB操作#第三话
  6. 多线程:Callable
  7. Struts2-获取值栈对象与结构
  8. Nginx+Lua(OpenResty) HelloWorld
  9. MySQL 命令大全 - 命令详解
  10. JDK 8中几乎命名的方法参数
  11. mysql binlog redo_mysql的binlog与redo log
  12. 机器学习中qa测试_如何对机器学习做单元测试
  13. 利用动态规划(DP)解决 Coin Change 问题
  14. Hyperloop,让发布简洁高效
  15. 如何使用分析模型 — 3. 排比图,分析问题的同时给出答案
  16. MS SQL Server:分区表、分区索引详解
  17. 基于关系域演算的QBE语言
  18. XX省大型门户网站运维服务项目方案
  19. java输出100以内质数(素数)合
  20. kettle官网下载

热门文章

  1. poj3421 X-factor Chains
  2. Oacle 开窗函数 分析函数
  3. HTML当中特殊字符的表示
  4. c#中 cmd.parameters.add() 方法的问题
  5. 谁能够在萧条中生存?历史总是惊人相似的(转)
  6. 经典java程序员的面试题及答案
  7. 自动化测试学习之路--java String、StringBuilder
  8. IoT Architecture
  9. GCJ 2015-Qualification-B Infinite House of Pancakes 枚举,思路,误区 难度:3
  10. 2013年的财务预算