查看原文
其他

Android 你不能忽略的代码命名规范

Carson_Ho 鸿洋 2019-04-05

本文作者


作者:Carson_Ho

链接:

https://www.jianshu.com/p/b7a644ea0d25

本文由作者授权发布。


  • Android代码规范内容非常多,但对我们最有用& 最有影响的莫过于  Android代码的命名规范

  • 可是,有很多人容易忽略Android代码的命名规范,从而导致代码的可读性 & 维护性非常差,最终导致开发效率 & 维护效率降低

  • 今天,我将根据 Google Java 编程规范 &  Google 官方 Android 编码规范,为大家带来一份全面 & 清晰的Android代码命名规范,希望你们会喜欢。


  • http://www.hawstein.com/posts/google-java-style.html

  • http://www.360sdn.com/2013/android_0517/144.html



目录


1为什么 规范 Android 代码命名?


  • 增强代码的可读性

  • 增强代码的可维护性


正由于上述两个作用,从而使得 开发效率 & 维护效率 得到大幅度的提高。


2Android需要命名的代码(对象)有哪些?




3具体命名规范


下面,我将对 Android 代码对象中的命名规范进行详细讲解


注:由于  Android主要用Java实现,所以Android规范会涵盖部分Java规范


3.1 包


基础规则:小写、单词间连续无间隔、反域名法(分为4级,具体如下图)



    第4级包名会随着功能的不同而不同。下面我列举出一些常见 & 需要规范的4级功能包名



    3.2 类


    基础规则


    1. 类型 = 名词 / 名词短语;

    2. 形式 = 驼峰形式中的 大骆驼拼写法(UpperCamelCase)


    即名称中的每个词的首字母都大写,如 AndroidStudio


    在具体命名类时,会根据 该类的类型不同而附加额外的命名规则。


    具体如下图:



    3.3 变量


    基础规则


    1. 类型 = 名词 / 名词短语;

    2. 形式 = 驼峰形式中的 小骆驼拼写法(LowerCamelCase)


    即名称中的第1个词的首字母小写,后面每个词的首字母大写,如androidStudioTool


    在具体命名变量时,会根据该变量的类型不同而 附加额外的命名规则。


    具体如下图:



    3.4 方法


    基础规则


    1. 类型 = 动词 / 动词短语;

    2. 形式 = 驼峰形式中的 小骆驼拼写法(LowerCamelCase


    即名称中的第1个词的首字母小写,后面每个词的首字母大写,如androidStudioTool


    在具体命名 方法名时,会根据 该方法名的作用不同而 附加额外的命名规则。


    具体如下图



    3.5 参数名


    基础规则:


    驼峰形式中的 小骆驼拼写法(LowerCamelCase)


    即名称中的第1个词的首字母小写,后面每个词的首字母大写,如androidStudioTool


    附加命名规则:


    功能名,如userName


    3.6 资源


    Android的资源包括:



    下面,我将对每种Android资源的命名规则进行详细讲解


    3.6.1 布局文件资源



    3.6.2 图片资源



    3.6.3 参数值资源



    3.6.4 动画资源



    3.7 额外


    除了上述的命名规范以外,Android 中还有一些全局通用的命名规范:



    至此,关于Android的代码命名规范讲解完毕


    4附录:常见使用单词缩写表


    使用单词缩写的原则:只使用约定俗成的单词缩写


    严禁自由缩写单词


    具体如下图



    总结


    看完本文后,相信你以后会认真对待 Android代码命名了!


    下面我将继续对Android中的其他代码规范进行深入讲解 ,有兴趣可以继续关注Carson_Ho的安卓开发笔记

    https://www.jianshu.com/u/383970bef0a0




    最后,帮朋友介绍一下他的新书,包建强老师的《Android 插件化开发指南》出版啦,以浅显易懂的图文讲解 Android 系统的底层只是,详细介绍 DroidPlugin,DL,Smal 等框架...对插件化技术比较感兴趣的可以购买学习,我准备抽空好好学一哈,秀个图:


    当当有满减,单本定价高,记得凑满减

    推荐阅读

    推荐3个有用的开源项目

    挺重要的网络基础

    高质量专栏推荐


    扫一扫 关注我的公众号

    如果你想要跟大家分享你的文章,欢迎投稿~


    ┏(^0^)┛明天见!


      您可能也对以下帖子感兴趣

      文章有问题?点此查看未经处理的缓存