当前位置: 首页 > news >正文

Android的一些命名规范

序言

刚上大学那会开始写程序的时候,变量名都是a,b,x,y这些,写着简单,但是看起来很累,尤其是别人看你的代码的时候,简直了。后来lz进了学校的ACM校队,在那学习期间,命名被强制改好了许多,开始使用英文单词作为变量名了,比如student,teacher,两个单词拼凑在一起时就用下划线,等等,这样看起来通熟易懂多了,也提高了代码的可读性。后来学习Java的时候,有了包名,类名,还有一系列的命名。

问题

为什么我们在写代码的时候需要正确的命名规范呢?
答:因为在真正的项目开发中我们不是一个人在开发,而是一个团队,如果没有一个命名规范的话,那别人读你的代码就像是天书一样。
复制代码

下面我们就来介绍一下Android的一些命名规范:

1、包名:采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名为xx(可以是公司或则个人的随便),三级包名根据应用进行命名,四级包名为模块名或层级名

例如:com.公司名称简写.项目名称简写.模块名

2、类名:采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的, 比如HTML,URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。

例如:LoginActivity

3、接口:命名规则与类一样采用大驼峰命名法,多以able或ible结尾

例如:interface Runna ble;interface Accessible。

4、方法:动词或动名词,采用小驼峰命名法

例如:onCreate(),run()

5、变量:采用小驼峰命名法。类中控件名称必须与xml布局id保持一致。

用统一的量词通过在结尾处放置一个量词,就可创建更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。

量词列表:量词后缀说明
First  一组变量中的第一个
Last   一组变量中的最后一个
Next   一组变量中的下一个变量
Prev   一组变量中的上一个
Cur    一组变量中的当前变量
复制代码

6、常量:全部大写,采用下划线命名法。

例如:MIN_WIDTH,MAX_HEIGHT

7、资源文件(图片drawable文件夹下):全部小写,采用下划线命名法,加前缀区分

命名模式:activity名称_逻辑名称/common_逻辑名称,如果有多种形态如按钮等除外如btn_xx.xml(selector)

8、资源布局文件(XML文件(layout布局文件)):全部小写,采用下划线命名法

1).contentview命名, Activity默认布局,以去掉后缀的Activity类进行命名。不加后缀:
   	功能模块.xml
   	例如:main.xml、more.xml、settings.xml
       或则:activity_功能模块.xml
       例如:activity_main.xml、activity_more.xml
2).Dialog命名:dialog_描述.xml
   	例如:dlg_hint.xml
2).PopupWindow命名:ppw_描述.xml
   	例如:ppw _info.xml
3). 列表项命名listitem_描述.xml
   	例如:listitem_city.xml
4).包含项:include_模块.xml
   	例如:include_head.xml、include_bottom.xml
5).adapter的子布局:功能模块_item.xml
   	例如:main_item.xml、
复制代码

9、动画文件(anim文件夹下):全部小写,采用下划线命名法,加前缀区分。

注:前面为动画的类型,后面为方向

10、资源ID(resourcesid):大小写规范与方法名一致,采用小驼峰命名法。命名规范为“资源控件的缩写 名”+“变量名”。

注:页面控件名称应该和控件id名保持一致

 strings.xml,colors.xml等中的id命名:
 命名模式:activity名称_功能模块名称_逻辑名称/activity名称_逻辑名称/common_逻辑名称。
 strings.xml中,使用activity名称注释,将文件内容区分开来。
复制代码

11、 layout中的id命名:view缩写_模块名称_view的逻辑名称

view的缩写详情如下:

12、activity中的view变量命名

命名模式为:逻辑名称+view缩写
建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view
复制代码

仅供参考,具体还是得根据需求来

相关文章:

  • 零元学Expression Blend 4 - Chapter 13 用实例了解布局容器系列-「Pathlistbox」I
  • Spring源码系列-容器刷新
  • WPF用样式实现TextBox的虚拟提示效果
  • ReactiveCocoa学习
  • [POJ2411]Mondriaan's Dream
  • CentOS7防火墙
  • vue.js 初步学习资源
  • Atlassian发布JIRA项目组合管理解决方案
  • 图片后门恶意捆绑工具FackImageexploer
  • php扩展模块安装
  • Android Studio 3.0 Android 分析器 | 中文教学视频
  • GeoIP2 数据库更新地址
  • 个人常用iOS第三方库以及XCode插件介绍
  • 杭州数澜联合创始人 \u0026 CTO 江敏:大数据思维和大数据冶炼 —— 拒绝坐着金山吃馒头...
  • 重磅干货不容错过!2017云栖大会汇总资料,速来领取!
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • ComponentOne 2017 V2版本正式发布
  • go语言学习初探(一)
  • JAVA_NIO系列——Channel和Buffer详解
  • Java超时控制的实现
  • Java方法详解
  • js ES6 求数组的交集,并集,还有差集
  • Js基础知识(四) - js运行原理与机制
  • python学习笔记-类对象的信息
  • SpiderData 2019年2月23日 DApp数据排行榜
  • spring boot 整合mybatis 无法输出sql的问题
  • Terraform入门 - 3. 变更基础设施
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 初探 Vue 生命周期和钩子函数
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 码农张的Bug人生 - 初来乍到
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 浅谈web中前端模板引擎的使用
  • 入门到放弃node系列之Hello Word篇
  • 突破自己的技术思维
  • 网页视频流m3u8/ts视频下载
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 用mpvue开发微信小程序
  • 做一名精致的JavaScripter 01:JavaScript简介
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • scrapy中间件源码分析及常用中间件大全
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​​​​​​​​​​​​​​Γ函数
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (1)(1.13) SiK无线电高级配置(六)
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (规划)24届春招和25届暑假实习路线准备规划
  • (南京观海微电子)——COF介绍
  • (三) diretfbrc详解
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (一一四)第九章编程练习