Android 代码命名规范 -- 提高代码可以读性

保姆级QFIL线刷教程:从驱动安装到成功刷机的完整避坑指南(Win10/11实测) 本文提供了一份详细的QFIL线刷教程,涵盖从驱动安装到成功刷机的完整流程,特别针对Win10/11系统进行了实测。文章重点解决了EDL模式下的常见问题,如Download Fail和COM Port识别错误,并提供了实用的避坑技巧和故障排除方案,帮助用户实现零失误操作。 阅读详情

   项目是团队分工合作,代码可读性非常重要,在开发过程中,命名规范统一尤为重要,最好是团队中统一好大家命名方法,这样对于日后的工作会轻松很多。

       在面试的时候,审核一个程序员的编程水平的时候,命名规范也是一大标准,所以,下面我就总结下我从网上别人的经验和自己的感悟中收集总结的android命名规范,希望对大家有所帮助。

       提醒:在命名规范的统一下,在加上注释,这样日后维护会高效快捷好多。


先初略介绍下当前主要的标识符命名法和英文缩写规则:(这段别人那边借鉴的)

在讲解命名规范前,先初略介绍下当前主要的标识符命名法和英文缩写规则。

标识符命名法
标识符命名法最要有四种:

1 
驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。

2 
帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字母大写

3 
下划线命名法:单词与单词间用下划线做间隔。

4 
匈牙利命名法:广泛应用于微软编程环境中,在以Pascal命名法的变量前附加小写序列说明该变量的类型。 量的取名方式为:<scope_> + <prefix_> + <qualifier>范围前缀,类型前缀,限定词。

个人觉得标识符命名原则:尽可能的用最少的字符而又能完整的表达标识符的含义。

英文缩写原则:
1 
较短的单词可通过去掉“元音”形成缩写
2 
较长的单词可取单词的头几个字母形成缩写
3 
此外还有一些约定成俗的英文单词缩写.

下面为常见的英文单词缩写:

名称

缩写

icon  

ic (主要用在app的图标)

color  

cl(主要用于颜色值)

divider

di(主要用于分隔线,不仅包括Listview中的divider,还包括普通布局中的线)

selector

sl(主要用于某一view多种状态,不仅包括Listview中的selector,还包括按钮的selector)

average

avg

background  

Bg(主要用于布局和子布局的背景)

buffer

buf

control

ctrl

delete

del

document 

doc

error

err

escape

esc

increment

inc

infomation

info

initial 

init

image

img

Internationalization

I18N

length

len

library

lib

message

msg

password-

pwd

position

pos

server

srv

string

str

temp

tmp

window

wnd(win)


程序中使用单词缩写原则:不要用缩写,除非该缩写是约定俗成的。


命名规范:

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

包名

此包中包含

com.xx.应用名称缩写.activities

 页面用到的Activity类 (activities层级名用户界面层)

 com.xx.应用名称缩写.base

 页面中每个Activity类共享的可以写成一个i额BaseActivity类 (基础共享的类)

com.xx.应用名称缩写.adapter  

 页面用到的Adapter类 (适配器的类)

com.xx.应用名称缩写.tools

 此包中包含:公共工具方法类(tools模块名)

com.xx.应用名称缩写.bean

(或则 com.xx.应用名称缩写.unity )

 此包中包含:元素类

com.xx.应用名称缩写.db

 数据库操作类

com.xx.应用名称缩写.view

(或则 com.xx.应用名称缩写.ui )

 自定义的View类等

com.xx.应用名称缩写.service    

 Service服务

com.xx.应用名称缩写.broadcast  

 Broadcast服务



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

类

描述

例如

activity 类

 Aty或者Activity为后缀标识

 欢迎页面类WelcomeAty.或者WelcomeActivity

Adapter类

  Adp或者Adapte 为后缀标识

 新闻详情适配器NewtDetailAdp或则直接  NewDetailAdapter

解析类 

 Hlr为后缀标识

 首页解析类HomePosterHlr

公共方法类

  Tools或Manager为后缀标识

 线程池管理类:ThreadPoolManager
           
 日志工具类:LogTools

数据库类

 以DBHelper后缀标识

 新闻数据库:NewDBHelper

Service类

 以Service为后缀标识

 时间服务TimeService

BroadcastReceive类

  以Broadcast为后缀标识

 时间通知TimeBroadcast

ContentProvider  

 以Provider为后缀标识

 

直接写的共享基础类

 以Base开头

BaseActivity,BaseFragment


3  接口(interface):命名规则与类一样采用大驼峰命名法,多以able或ible结尾,如interface Runna ble ;
                    
 interface Accessible 。

4  
方法(methods):动词或动名词,采用小驼峰命名法例如:onCreate(),run()

方法

说明

initXX()

 初始化相关方法,使用init为前缀标识,如初始化布局initView()

isXX()

 checkXX()方法返回值为boolean型的请使用is或check为前缀标识

getXX()

 返回某个值的方法,使用get为前缀标识

processXX() 

 对数据进行处理的方法,尽量使用process为前缀标识

displayXX()

 弹出提示框和提示信息,使用display为前缀标识

saveXX()

 与保存数据相关的,使用sav为e前缀标识

resetXX()

 对数据重组的,使用reset前缀标识

clearXX()

 清除数据相关的

removeXXX() 

 清除数据相关的

drawXXX()

 绘制数据或效果相关的,使用draw前缀标识



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

用统一的量词通过在结尾处放置一个量词,就可创建更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。
量词列表:量词后缀说明
First 
 一组变量中的第一个
Last  
 一组变量中的最后一个
Next  
 一组变量中的下一个变量
Prev  
 一组变量中的上一个
Cur   
 一组变量中的当前变量
 
6  
常量(Constants)全部大写,采用下划线命名法.例如:MIN_WIDTH


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

命名模式:activity名称_逻辑名称/common_逻辑名称

如果有多种形态如按钮等除外如btn_xx.xml(selector)

名称

功能

btn_xx

 按钮图片使用btn_整体效果(selector)

btn_xx_normal

 按钮图片使用btn_正常情况效果

btn_xx_press

 按钮图片使用btn_点击时候效果

bg_head

 背景图片使用bg_功能_说明

def_search_cell

 默认图片使用def_功能_说明

icon_more_help

 图标图片使用icon_功能_说明

seg_list_line

 具有分隔特征的图片使用seg_功能_说明

sel_ok

 选择图标使用sel_功能_说明

命名后缀:

后缀

说明

unit

 在使用xml的tilemode来配图片时,element图片使用此后缀

nor

 图片的状态,代表普通状态

hl

 图片的状态,代表高亮状态

press

 图片的状态,代表按下状态

select

 图片的状态,代表其所占的view被选中

unselect

 图片的状态,代表其所占的view没有被选中

 

 

 

 

 

 

 

 

 

 


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文件夹下):全部小写,采用下划线命名法,加前缀区分。

 

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

动画命名例子

规范写法

备注

fade_in

淡入

 

fade_out

淡出

 

push_down_in

从下方推入

 

push_down_out

从下方推出

 

push_left

推像左方

 

slide_in_from_top

从头部滑动进入

 

zoom_enter

变形进入

 

slide_in

滑动进入

 

shrink_to_middle

中间缩小

 


10    资源ID(resourcesid):大小写规范与方法名一致,采用小驼峰命名法。命名规范为“资源控件的缩写  名”+“变量名”。注意:页面控件名称应该和控件id名保持一致

 strings.xml,colors.xml等中的id命名:

命名模式:activity名称_功能模块名称_逻辑名称/activity名称_逻辑名称/common_逻辑名称

strings.xml中,使用activity名称注释,将文件内容区分开来


11   layout中的id命名

命名模式为:view缩写_模块名称_view的逻辑名称

view的缩写详情如下:

控件

缩写

LayoutView

lv

RelativeView

rv

TextView

tv

Button

btn

ImageButton        

imgBtn

ImageView         

mgView 或则 iv

CheckBox           

chk

RadioButton        

rdoBtn

analogClock        

anaClk

DigtalClock        

dgtClk

DatePicker         

dtPk

EditText           

edtTxt

TimePicker         

tmPk

toggleButton       

tglBtn

ProgressBar 

proBar

SeekBar                            

skBar

AutoCompleteTextView

autoTxt

ZoomControls       

zmCtl

VideoView          

vdoVi

WdbView            

webVi

RantingBar         

ratBar

Tab                

tab

Spinner            

spn

Chronometer        

cmt

ScollView          

sclVi

TextSwitch         

txtSwt

ImageSwitch        

imgSwt

listView           

lVi 或则lv

ExpandableList     

epdLt

MapView            

mapVi

 

 

 





































12.activity中的view变量命名

命名模式为:逻辑名称+view缩写

建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view

13.styles.xml:将layout中不断重现的style提炼出通用的style通用组件,放到styles.xml中;

14.使用layer-list和selector


Android编码规范建议(别人弄的觉得蛮有道理)

1.java代码中不出现中文,最多注释中可以出现中文

2.局部变量命名、静态成员变量命名

只能包含字母,单词首字母除第一个外,都为大写,其他字母都为小写

3.常量命名

只能包含字母和_,字母全部大写,单词之间用_隔开

4.图片尽量分拆成多个可重用的图片

5.服务端可以实现的,就不要放在客户端

6.引用第三方库要慎重,避免应用大容量的第三方库,导致客户端包非常大

7.处理应用全局异常和错误,将错误以邮件的形式发送给服务端

8.图片的.9处理

9.使用静态变量方式实现界面间共享要慎重

10.Log(系统名称模块名称接口名称,详细描述)

11.单元测试(逻辑测试、界面测试)

12.不要重用父类的handler,对应一个类的handler也不应该让其子类用到,否则会导致message.what冲突

13.activity中在一个View.OnClickListener中处理所有的逻辑

14.strings.xml中使用%1$s实现字符串的通配

15.如果多个Activity中包含共同的UI处理,那么可以提炼一个CommonActivity,把通用部分叫由它来处理,其他activity只要继承它即可

16.使用button+activitgroup实现tab效果时,使用Button.setSelected(true),确保按钮处于选择状态,并使activitygroup的当前activity与该button对应

17.如果所开发的为通用组件,为避免冲突,将drawable/layout/menu/values目录下的文件名增加前缀

18.数据一定要效验,例如

字符型转数字型,如果转换失败一定要有缺省值;

服务端响应数据是否有效判断

UG\NX二次开发 使用UF_CURVE_create_ocf_feature函数创建“在面上偏置”特征 使用UF_CURVE_create_ocf_feature函数创建“在面上偏置”特征。 阅读详情

相关推荐

基于ST32 DAC7311数模转换器驱动代码及电路设计完整版

基于ST32的DAC7311模数转换器的电路设计及驱动代码完整版

qq_39626643的博客 3718

Android包名的含义与命名规范

在创建应用程序时,我们需要在Android Studio或其他开发工具中指定一个合适的包名,以确保与其他应用程序的命名冲突。然而,需要注意的是确保新的包名仍然满足规范和要求,应该确保这个包名要确保和别的应用没有命名冲突。前缀通常表示商业组织的类型,如com表示商业组织,net表示网络组织,org表示非营利组织等。另外,包名不会影响我们程序的内容,它只是用于唯一标识我们的程序,就好像控件的id一样。域名部分是商业组织的域名或名称,用于确保包名的全局唯一性。appname:应用名,这是我们应用程序的特定标识。

充满智慧的博客 9876

机器学习ROC曲线中的阈值thresholds

在ROC曲线上的不同点对应于不同的阈值。根据任务的具体要求,可以选择合适的阈值,以达到平衡召回率和误报率,或者根据具体应用场景调整模型的工作点。,表示样本属于正例的概率。这个概率值可以被截断为二元分类的决策,通过选择一个阈值来决定样本是被分类为正例还是负例。通过改变阈值,可以得到不同的真正例率(TPR)和假正例率(FPR),从而绘制出ROC曲线。总体来说,ROC曲线提供了模型在不同阈值下的性能综合情况,帮助分析模型的分类能力。通常来说,随着阈值的增加,TPR会减小,而FPR会增加。ROC曲线的绘制涉及。

行子的博客 3654

Android 命名规范

一、包名 包名命名规范:包名一律小写,采用如下规则:【com】.【公司名/组织名】.【项目名称】.【模块名】,例如:com.foreverstar.xxx 1.com.xx.应用名称缩写.模块.activity 页面用到的Activity类 (activitie层级名用户界面层) 2.com.xx.应用名称缩写.模块.fragment 页面用到的fragment 3.com.xx.应用名称缩写.模块.adapter 页面用到的Adapter类 (适配器的类) 4.com.xx.应用名称缩写.

分享Android开发知识 7032

iOS开发者必备:从越狱设备里提取IPA的三种方法(含Filza、iTools实战)

本文详细介绍了iOS开发者从越狱设备提取IPA文件的三种实用方法,包括使用Filza文件管理器、AFC2配合桌面工具以及命令行高级技术。内容涵盖环境准备、操作步骤和技术原理,帮助开发者高效获取应用包文件,适用于逆向工程、测试分析等场景。

weixin_28717969的博客 809

电力远动入门:手把手解析IEC 60870-5-101规约的帧结构与报文交互(基于DL/T634.5101-2002)

本文深入解析IEC 60870-5-101规约的帧结构与报文交互,适用于电力远动通信系统。通过详细讲解规约的基础架构、控制域位定义及典型报文交互流程,帮助工程师快速掌握101规约的核心技术,提升电力自动化系统的调试与维护能力。

weixin_27076351的博客 244

Android --- 命名规范

selector sl(主要用于某一view多种状态,不仅包括Listview中的selector,还包括按钮的selector)sel_ok 选择图标使用sel_功能_说明。divider di(主要用于分隔线,不仅包括Listview中的divider,还包括普通布局中的线)3、 变量名、方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写。5)、程序中使用单词缩写原则:不要用缩写,除非该缩写是约定俗成的。getXX(),返回某个值的方法,使用get为前缀标识。

2401_89173252的博客 1171

学习笔记:物理信息神经网络(PINN)

PINN 的强大在于它打破了传统数值方法的限制,将神经网络的非线性拟合能力与物理方程的严谨性结合起来。它在处理高维、数据稀缺、复杂物理约束的场景下尤其出色。当然,PINN 也有收敛慢、梯度消失等挑战,比如,复杂 PDE 可能导致梯度传播困难,收敛慢(梯度消失)、于具有快速变化特征的系统,如冲击波,标准 PINN 可能精度不足,需要改进策略,比如自适应采样或多尺度特征提取。但随着研究深入,这些问题正在不断被解决。物理或化学方程为什么往往是偏微分方程?什么是物理信息神经网络(PINN)?x_%7Bi%7D。

qq_52635735的博客 1万+

Android命名规范(重点讲解:包名)

Android命名规范(重点讲解:包名)         Android程序开发中,使用规范的命名有益于程序的开发和后期阅读。

wenzhi的博客 5万+

手把手教你学Simulink--基于飞轮储能系统的场景实例:飞轮储能与锂电池混合储能系统的协同控制

本文详细介绍了基于Simulink的飞轮储能与锂电池混合储能系统协同控制建模方法。通过高通/低通滤波器实现功率分配,使飞轮处理高频波动(±100kW),锂电池承担削峰填谷(50kW)。仿真结果表明,该系统效率达88%,锂电池循环次数减少90%,投资成本比纯电池方案节省200万美元。文章包含完整的建模步骤、控制策略设计和多场景仿真分析,为构建高效、长寿、经济的智能储能系统提供了实用解决方案。

MHD0815的博客 341

LVGL iPhone Duo 开合过渡

环境:LVGL 9.x(需要软件模糊),窗口建议 1280×800。界面文案英文(默认 Montserrat 无 CJK)。

摸鱼专家 149

Android开发规范

Android学习是一条漫长的道路,我们要学习的东西不仅仅只有表面的 技术,还要深入底层,弄明白下面的 原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足。人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。资源持续更新中,欢迎大家一起学习和探讨。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2401_84411776的博客 1297

SiC MOSFET 失效机制详解

TDDB 指在相对较低电场(通常接近或略高于器件工作电压)下,长时间施加电压导致介电层(如栅氧化物)逐渐退化并最终击穿的现象。与即时击穿(Immediate Breakdown,由强电场直接引起)不同,TDDB 是时间相关的渐进过程,通常发生在数小时、几天甚至数年之后。核心过程:在 MOSFET 中,栅极与衬底之间施加电压时,电子通过量子隧道效应(Tunneling)注入介电层,形成缺陷或陷阱。这些缺陷积累,最终在介电层中形成导电路径(Conductive Path),导致短路和器件失效。统计特性。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 381

Android 命名规范 (提高代码可以读性)-最全的安卓代码规范

Android 命名规范 (提高代码可以读性)  刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件什么是什么用的,就要读一遍甚至好几遍才知道,这样的话,在代码的审查和修改过程中就会浪费不少不必要的时间。如果就是我一个人开发,一个人维护的话还好,可是如果一个项目是团队分工合作,这样让你的同事去看你的代码就更加吃力了,因为大家之间的编程方式不一样,所以,在开发过程中,...

Jaylon Wang的专栏 381

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Android 命名规范 (提高代码可以读性)

量词列表:量词后缀说明First 一组变量中的第一个Last 一组变量中的最后一个Next 一组变量中的下一个变量Prev 一组变量中的上一个Cur 一组变量中的当前变量 6 常量( Constants )全部大写 , 采用下划线命名法 . 例如: MIN_WIDTH。2 类(classes):名词,采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的, 比如HTML,URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。

2401_89190678的博客 1257

廖雪峰Python教程[完整版]

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

Android 命名规范 (提高代码可以读性)(1)

各行各样都会淘汰一些能力差的,不仅仅是IT这个行业,所以,不要被程序猿是吃青春饭等等这类话题所吓倒,也不要觉得,找到一份工作,就享受安逸的生活,你在安逸的同时,别人正在奋力的向前跑,这样与别人的差距也就会越来越遥远,加油,希望,我们每一个人,成为更好的自己。BAT大厂面试题、独家面试工具包,资料包括 数据结构、Kotlin、计算机网络、Framework源码、数据结构与算法、小程序、NDK、Flutter《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取。

2401_84148974的博客 1359

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Android开发命名规范提高代码可以读性

先初略介绍下当前主要的标识符命名法和英文缩写规则:(这段别人那边借鉴的) 在讲解命名规范前,先初略介绍下当前主要的标识符命名法和英文缩写规则。标识符命名法标识符命名法最要有四种:1 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。2 帕斯卡(pascal...

chuntianlong5227的博客 104

Android 命名规范 (提高代码可以读性) 转

转自:http://blog.youkuaiyun.com/vipzjyno1/article/details/23542617 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件 什么是什么用的,就要读一遍甚至好几遍才知道,这样的话,在代码的审查和修改过程中就会浪费不少不必要的时间。如果就是我一个人开发,一个人维护的话还 好,可是如果一个项目是团队分工合作,这样让你的同事去看...

SharkArmy 67

android接口类命名规范_Android 命名规范 (提高代码可以读性)

刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件什么是什么用的,就要读一遍甚至好几遍才知道,这样的话,在代码的审查和修改过程中就会浪费不少不必要的时间。如果就是我一个人开发,一个人维护的话还好,可是如果一个项目是团队分工合作,这样让你的同事去看你的代码就更加吃力了,因为大家之间的编程方式不一样,所以,在开发过程中,命名规范统一尤为重要,最好是团队中统一好大家命名方法...

weixin_39692847的博客 273
上一篇: Android ImageView的scaleType属性与adjustViewBounds属性
下一篇: android中textview显示自汗,字母,数字乱行行问题解决
僤尐僤
博客等级 码龄14年 10粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值