Android开发编码规范

TYPE-C接口电路设计篇(一) 常见USB接口类型 随着USB Type-C接口的推行,USB Type-C是一种通用串行总线(USB)的硬件接口形式,USB Type-C接口在消费类产品普及程度越来越高,常见的适配器、笔电、手机等产品都兼容USB Type-C设计,接口多元化逐渐趋向归一,从而可以看出USB Type-C的重要性。 在了解USB Type-C接口之前,我们先来回顾下USB Type-A和USB Type-B接口,USB3.0 Type-A和Type-B接口定义分别如下。 USB 3.0... 阅读详情

自己平常的一些编码规范和网上一些资料进行整理汇总,方便自己时常查看对比。

基本的命名法

Java编程比较常见的有下面三种命名方式

  1. 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。
  2. 帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字母大写
  3. 下划线命名法:单词与单词间用下划线做间隔

一般建议拿来做命名的单词要比较精悍短小,这样即使两三个单词一起拼装成一个命名,也不至于显得很冗长。当然有些单词我们也可以直接写成一些约定俗成的缩写。诸如:msg(message)、init(initial)、img(image)等.....

个人认为,这些缩写可参照业界常见的缩写命名,也可以根据当前项目中的风格,进行团队成员间的约定。这样相对比较灵活,也方便团队成员之间相互理解。

包命名

采用反域名命名规则,全部使用小写字母。

  1. 一级包名为com;
  2. 二级包名为xx(可以是公司或则个人的随便);
  3. 三级包名应用的英文名app_name;
  4. 四级包名为模块名或层级名;

下面罗列一些常见的命名划分方式

命名格式作用
com.xx.app_name.activities(或com.xx.app_name.activity)存放app所有的Activity
com.xx.app_name.service存放app所有的Service
com.xx.app_name.receiver存放app所有的BroadcastReceiver
com.xx.app_name.provider存放app所有的ContentProvider
com.xx.app_name.fragment存放app所有的Fragment
com.xx.app_name.dialog存放app所有的Dialog
com.xx.app_name.base存放app一些共有的基础模块,诸如BaseActivity、BaseContentProvider、BaseService,BaseFragment等
com.xx.app_name.utils存放app的工具类,诸如格式化日期的DateFormatUtils,处理字符串的StringUtils等
com.xx.app_name.bean(或com.xx.app_name.unity)存放app自定义的实体类
com.xx.app_name.db)存放app数据库操作相关的类
com.xx.app_name.view)存放app自定义的控件
com.xx.app_name.adapter)存放app所有的适配器类

类命名

名词,采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的。如HTML,URL,JSON,XML等.

类命名格式示例
ActivityXXX功能+Activity如主界面HomeActivity,启动页LauncherActivity
ServiceXXX功能+Service如消息推送的Service,PushService或PushMessageService
BroadcastReceiverXXX功能+Receiver如在线的消息广播接受者,OnlineReceiver
ContentProviderXXX功能+Provider如联系人的内容提供者,ContactsProvider
FragmentXXX功能+Fragment如显示联系人的Fragment,ContactsFragment
DialogXXX功能+Dialog如普通的选择提示对话框,ChoiceDialog
AdapterXXX功能+XX类型控件Adapter如联系人列表,ContactsListAdapter
基础功能类Base+XX父类名如BaseActivity,BaseFragment
工具类XXX功能+Utils如处理字符串的工具类,StringUtils
管理类XXX功能+Manager如管理联系人的类,ContactsManager

接口命名

和类名基本一致。也可以在接口名前面再加一个大写的I,表明这是一个接口Interface。

如:可以表明一个信息是否可以分享的接口,可以命名为Shareable,也可以是IShareable。

方法

动词或动名词,采用小驼峰命名法。

下面是一些比较常见的命名风格和含义

命名风格含义
initXX()初始化,如初始化所有控件initView()
isXX()是否满足某种要求,如是否为注册用户isRegister()
processXX()对数据做某些处理,可以以process作为前缀
displayXX()显示提示信息,如displayXXDialog,displayToast,displayXXPopupWindow
saveXX()保存XX数据
resetXX()重置XX数据
addXX()/insertXX()添加XX数据
deleteXX()/removeXX()删除XX数据
updateXX()更新XX数据
searchXX()/findXX()/queryXX()查找XX数据
draw()控件里面使用居多,例如绘制文本drawText

变量

采用小驼峰命名法。同样比较简单,但为了更好表明含义,我建议做一下的的区分

  • 成员变量命名前面加m(member,表示成员变量之意),如,控件的宽高 mWidth,mHeight
  • 静态类变量前面加s(static,表示静态变量之意),如,一个静态的单例 sSingleInstance

常量

同样较为简单,全部大写,采用下划线命名法.如:MIN_WIDTH,MAX_SIZE

布局资源文件(layout文件夹下)

全部小写,采用下划线命名法.

下面是一些比较常见的命名风格和含义

布局类型命名风格
Activity的xml布局activity_+XX功能,如主页面activity_home
Fragment的xml布局fragment_+XX功能,如联系人模块fragment_contacts
Dialog的xml布局dialog_+XX功能,如选择日期dialog_select_date
抽取出来复用的xml布局(include)include_+XX功能,如底部tab栏include_bottom_tabs
ListView或者RecyclerView的item xml布局XX功能+_list_item,如联系人的contact_info_list_item
GridView的item xml布局XX功能+_grid_item,如相册的album_grid_item

动画资源文件(anim文件夹下)

全部小写,采用下划线命名法,加前缀区分.

下面是一些比较常见的命名风格和含义

动画效果命名风格
淡入/淡出fade_in/fade_out
从某个方向淡入/淡出fade_方向_in(out),右边淡入淡出fade_right_in(out)
从某个方向弹入/弹出push_方向_in(out),右边推入推出push_right_in(out)
从某个方向滑入/滑出slide_in(out)from方向,右边滑入滑出slide_in(out)_from_right

strings和colors资源文件

小驼峰命名法,命名风格大致如下:

  • string命名格式:XX界面_XX功能_str,如 activity_home_welcome_str
  • color命名格式:color_16进制颜色值,如红色 color_ff0000

像string通常建议把同一个界面的所有string都放到一起,方便查找。而color的命名则省去我们头疼的想这个颜色怎么命名。

selecor、drawable、layer-list资源文件

小驼峰命名法。命名风格通常都是XX_selector、XX_drawable、XX_layer。

下面举两个比较常用的栗子:

  • 按钮按压效果button_selector,正常状态命名为button_normal(XX_normal),按压状态命名为button_pressed(XX_pressed)
  • 选择效果checkbox_selector,未选中状态命名为checkbox_unchecked(XX_unchecked),选中状态为checkbox_checked(XX_checked)

styles、dimens资源文件

  • style采用大驼峰命名法,主题可以命名为XXTheme,控件的风格可以命名为XXStyle
  • dimen采用小驼峰命名法,如所有Activity的titlebar的高度,activity_title_height_dimen

控件id命名

因为有些控件平常不常用,所以上网搜罗了一份下来。集大家之所长,以作参考。

控件前缀缩写
RelativeLayoutrl
LinearLayoutll
FrameLayoutfl
TextViewtv
Buttonbtn
ImageButtonimgBtn
ImageViewimgView或iv
CheckBoxchk
RadioButtonrdoBtn
analogClockanaClk
DigtalClockdgtClk
DatePickerdtPk
EditTextedtTxt或et
TimePickertmPk
toggleButtontglBtn
ProgressBarproBar
SeekBarskBar
AutoCompleteTextViewautoTxt
ZoomControlzmCtl
VideoViewvdoVi
WebViewwebVi
Spinnerspn
Chronometercmt
ScollViewsclVi
TextSwitchtxtSwt
ImageSwitchimgSwt
ListViewlv
GridViewgv
ExpandableListepdLt
MapViewmapVi

以上就是从网上搜罗整理下来的,大家也可以做纠正或者补充。

总结

以上就是综合很多网上很多资料,再加上平时开发经验进行汇总整理的命名规范。好的命名规则能够提高代码质量,使得新人加入项目的时候降低理解代码的难度。最后我还要啰嗦一下几点:

  • 规矩终究是死的,适合团队的才是最好的
  • 命名规范需要团队一起齐心协力来维护执行,在团队生活里,谁都不可能独善其身
  • 如果你觉得你的命名晦涩难懂,那么,你可以开始动手了
  • 一开始总会不习惯的,一步一个脚印,持之以恒,总会成功的

华为 MetaERP 总账模块依托 “交易即核算” 的事件驱动架构,与 Oracle EBS 相比,更强调业务事件自动触发财务动作、实时数据同步和智能规则引擎,实现业务与财务的深度融合 华为MetaERP总账模块采用"交易即核算"架构,相比Oracle EBS实现了三大突破:1)业务事件自动触发财务动作,如采购收货自动生成暂估凭证;2)业务财务数据实时同步,支持即时分析;3)内置智能规则引擎,实现自动匹配、核销和结转。该模块覆盖采购、销售、资产、薪酬等全业务场景,支持多维核算和关联交易自动抵消,显著提升核算效率与准确性。其中采购暂估、销售结转等场景实现全自动化处理,较EBS减少80%手工操作。 阅读详情

相关推荐

别再为10G UDP发愁了!手把手教你用Xilinx 10G/25G Ethernet Subsystem IP核搭建FPGA网络栈(附12套工程源码)

本文详细介绍了基于Xilinx UltraScale架构的FPGA网络栈开发,重点讲解了10G/25G Ethernet Subsystem IP核的应用实践。通过手把手教程和12套工程源码,帮助开发者解决10G UDP通信中的物理层接口、协议栈实现和系统集成等核心挑战,实现高性能FPGA网络栈搭建。

weixin_42522575的博客 364

Android 项目主题样式库:统一颜色、字号,避免重复开发

组件化多业务模块情况下,各模块中存在一些字号、颜色等样式定义、引用相对混乱的现象。大部分业务开发同学会随意使用颜色和字体等,没有明确的统一格式进行调用。因此,导致项目中相关重复定义颜色字号增多失控,不易维护,增加包体积,开发同学的在使用上不够简单高效,经常编写重复代码。

csdn_aiyang的博客 1856

xilinx vivado 设置多核多线程加快综合、布局布线、仿真速度的方法

加快vivado布局布线速度的多核编译方法 在tcl中执行下面的语句 set param general.maxThreads n来设置,n是你的CPU线程数。 在设置之后你可以通过get_param general.maxThreads 指令来确认是否成功设置, 加快vivado综合速度的多核编译方法 操作方法与上面加快布局布线的方法一样。 实际发现效果并不是很明显,官方论坛中提到只有在LINUX上才能发挥8核以上的效能,而且8核以上的效能提升并不明显。 加快vivado仿真.

shawn的FPGA圈 2万+

Android 颜色大全

Android 颜色大全 - #ffffff #fffff0 #ffffe0 #ffff00 #fffafa #fffaf0 #fffacd #fff8dc #fff5ee #fff0f5 #ffefd5 #ffebcd #ffe4e1 #ffe4c4 #ffe4b5 #ffdead #ffd

997

YOLOv12环境配置,手把手教你使用YOLOv12训练自己的数据集和推理(附YOLOv12网络结构图),全文最详细教程

YOLO 系统尊嘟太卷了吧,YOLOv11 还没完明白,YOLOv12 就重磅来袭,YOLOv12 是由纽约州立大学联合中科院在 2025年2月19 日发布,从 YOLOv12 论文题目我们大概就知道做了那些更新 ,下图是YOLOv12 在 COCO 数据集上的性能表现引入区域注意力机制(area-attention):通过引入十字形窗口自我注意机制,沿水平和垂直条纹计算注意力机制,纵横交错的注意机制。如下图所示,区域注意力采用最多简单的等分方法,将特征地图垂直或水平划分为 L 个区域。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 6万+

C# Modbus协议全解析 万字长文|RTU/TCP/UDP完整实战(寄存器映射+多从站组网+NModbus4工业级代码)

你做C#工业上位机开发,Modbus协议是绕不开的终极核心,没有之一!Modbus是由施耐德在1979年发布的工业级串行通信协议,经过40余年的发展,已经成为工业自动化领域的通用标准协议—— 小到温湿度传感器、智能电表、小型PLC,大到变频器、伺服驱动器、DCS集散控制系统,99%的工业设备都原生支持Modbus协议(RTU/TCP二选一,多数全支持)。很多开发者觉得Modbus「知识点杂、协议分支多、组网难」,本质是只掌握了零散的读写代码,没吃透。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1063

Android 编码规范

Android开发规范

Jony_Lulu的博客 2980

安装Codex时出现无法下载此应用和Microsoft Store初始化失败的解决方案

本文主要介绍了安装Codex时出现无法下载此应用和Microsoft Store初始化失败的解决方案,希望能对使用codex的同学们有所帮助。 文章目录 1. 问题描述 2. Windows 解决方案 3. Mac解决方案

weixin_43178406的博客 7万+

Android编码命名规范

基本的命名法 Java编程比较常见的有下面三种命名方式 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字母大写下划线命名法:单词与单词间用下划线做间隔 一般建议拿来做命名的单词要比较精悍短小,这样即使两三个单词一起拼装成一个命名,也不至于显得很冗长。当然有些单词我们也可以直接写成一些约

mislaydu的博客 1429

Allegro 中复制一部分PCB到另一个PCB中去

引言:自从学了allegro后,我每天快乐地再拉线,一开心肯定出事情。不料今天一高兴,把本来在5层的铜皮直接在4层画起来了。不过,幸好我知道换层,才省了又要画铜皮的时间。好了,开干,如果要将其他层的铜皮换到想要换到的层上,就需要这个命令。

tianpu2320959696的博客 968

人工智能训练师三级考试大纲深度解读|理论+实操分值分布+六大模块占比

三级人工智能训练师考试分为理论和实操两大模块(各100分,合格线60分)。理论考试包含AI基础(30%)、数据标注(25%)、模型训练(20%)、测试(15%)和系统运维(10%),题型为客观题;实操考核侧重数据标注(40%)、模型测试(35%)和系统运维(25%),采用现场操作形式。复习应优先关注AI基础和数据标注等高分值模块,实操需重点掌握标准流程和结果准确性(占评分70%)。考试要求两模块均达标,理论侧重概念理解,实操强调规范执行与文档完整。

白话机器学习 1093

Android 命名规范(以及自己的一些小经验)

            在工作中,有许多刚入行的小白,不懂得命名,                 例如用汉语拼音命名,中文版英语等!             命名方式非常重要,小白需要多学习一下,                 以下是参照 《阿里开发手册》总结的知识点                 以及自己的开发经验的小总结。  一、资源文件需带模块前缀。           ...

WangZy的博客 1338

Plecs电力电子仿真专业教程-第一季 第一节 Plecs简介

Plces 电力电子仿真专业教程系列依托专业的电力电子仿真软件Plecs对各种电力电子常用的拓扑及实际设计的方案进行系统及仿真与软件代码仿真实践。通过对各种电路仿真原理的讲解及专业C语言代码程序的编写,提升学员的系统设计能力,软件编程能力与理论分析能力。

3641

Android开发规范之编码规范2

Android开发规范之编码规范2 1,java代码中不出现中文,最多注释中可以出现中文,中文统一写在strings.xml中; 2,局部变量命名、静态成员变量命名 只能包含字母,单词首字母大写,其他字母都为小写 3,常量命名只能包含字母和_,字母全部大写,单词之间用_隔开 4,布局文件中的id命名 命名模式为:view缩写_模块名称_view的逻辑名称 常用控件的缩写如下 LayoutView:...

wdx_1136346879的博客 220

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android开发编码规范之文件命名(一)

Android开发编码规范之文件命名(一)1.包命名命名规则:一个惟一包名的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是com,edu,gov,mil,net,orgo。包名的后续部分根据不同机构各自内部的命名规范而不尽相同。这类命名规范可能以特定目录名的组成来区分部门(department),项目(project),机器(machine),或注册名(login names) 包名由

u010857572的博客 469

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Android开发编码规范(自用)

转载请注明本文出自Cym的博客(http://blog.youkuaiyun.com/cym492224103),谢谢支持!   Android开发编码规范 目的及指导原则 目的 统一规范 Eclipse编辑环境下Java的编码风格和标准   指导原则 1)首先是为人编写程序,其次才是计算机。这是软件开发的基本要点,软件的生命周期贯穿产品的开发、测试、生产、用户使用、版本升级和后期维护等长期过...

weixin_33721344的博客 119

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Android开发:编码规范文档

Android开发规范文档 文章转自蜀国攻城狮的专栏 1.android开发准备 开发环境使用android studio 安装.ignore(配合git使用) codeglance(代码预览) markdown surport(md文件支持)这三款插件 采用markdown记录开发中的各种问题 务必在使用git前在项目根目录中添加.gitignore文件(用.ignore插件生成) ...

小五博客园 706

开发规范-Android编码规范

代码提交规范篇 【推荐】代码提交应该短小而频繁,尽量避免单次提交大量代码。 说明:约束单次提交的范围有利于写出更加针对性的说明,也对代码审核更加友好。 反例:单次提交超过200+行的代码或20+的文件;只在休息的时候(午休、下班)提交代码;很难一句话说清楚这次提交的内容 【强制】代码提交说明应该描述本次提交的具体内容,并带上适当的前缀 feat:新功能的说明 fix:修补bug的说明 doc...

u010897392的专栏 936

Android开发编码规范、性能优化、UI优化及开发建议

一、Android编码规范   1.java代码中不出现中文,最多注释中可以出现中文;   2.局部变量命名、静态成员变量命名:只能包含字母,单词首字母出第一个都为大写,其他字母都为小写;   3.常量命名:只能包含字母和_,字母全部大写,单词之间用_隔开;   4.layout中的id命名:命名模式为:view缩写_模块名称_view的逻辑名称   view的缩写详情如下   Lin

西安尚学堂java培训 469

Android开发编码规范pdf文件下载

Android开发编码规范.pdf文件下载Android开发编码规范.pdf文件下载。公司要求成立统一的开发流程和编码规范,希望每个人的编码一致,风格一致,这样有利于提高开发效率,于是我从网上整理了下三个模块,还是整理的挺详细的,需要的可以下载看看,就是有点乱,没有具体大纲,毕竟我不会编书…………点击下载,别的不多说了上面那个没有目录,想要下载有目录的请下载这个点击下载目录版本...

xiayiye5的博客 677

Android 开发编码规范

一、Android编码规范5 x1 r, F1 y* j; p 1.java代码中不出现中文,最多注释中可以出现中文0 x  r* o# d/ q; R 3 C/ `) P* F; ~ 2.局部变量命名、静态成员变量命名 只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写 3.常量命名 , t3 c! d2 G, E9 H* _7 Q% a 只能包含字

仰视未来的专栏 1057

Android开发规范之编码规范

Android开发规范之编码规范 1,java代码中不出现中文,最多注释中可以出现中文,中文统一写在strings.xml中; 2,局部变量命名、静态成员变量命名 只能包含字母,单词首字母大写,其他字母都为小写 3,常量命名只能包含字母和_,字母全部大写,单词之间用_隔开 4,布局文件中的id命名 命名模式为:view缩写_模块名称_view的逻辑名称 常用控件的缩写如下

taoxugang2012的专栏 867
上一篇: Android中常用的Linux指令以及Root原理浅析
下一篇: Android开发中,那些让你相见恨晚的方法、类或接口
Jefferyleng
博客等级 码龄13年 21粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值