安卓开发规范整理

       开始学习安卓的时候,对开发中的一些规范都不是很清楚,往往是按照自己的想法来做,最典型的就是命名,没有任何规范,到最后的结果是代码写完了自己回头看都蒙,那么后期维护起来就很难,如果自己一个人开发还好,可是如果一个项目是团队分工合作,这样让你的同事去看你的代码就更加吃力了,因为大家之间的编程方式不一样,所以,在开发过程中,命名规范统一尤为重要,最好是团队中统一好大家命名方法,这样对于日后的工作会轻松很多。

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

1.命名基本原则
    在面向对象编程中,对于类,对象,方法,变量等方面的命名应该本着描述性以及唯一标识性这两大特征来命名,才能保证资源之间不冲突,并且每一个都便于记忆。

命名原则是:使名称足够长以便有一定的意义,并且足够短以避免冗长。

2.命名基本规范

2.1.编程基本命名规范 

1避免难懂的名称,如属性名xxK8,这样的名称会导致多义性。   
2 在面向对象的语言中,在类属性的名称中包含类名是多余的,如Book.BookTitle,而是应该使用Book.Title。   
3在允许函数重载的语言中,所有重载都应该执行相似的函数。 

4使用动词-名词的方法来命名对给定对象执行特定操作的例程,如CalculateInvoiceTotal()(例程是某个系统对外提供的功能接口或服务的集合)   

5只要合适,在变量名的末尾或开头加计算限定符(AvgSumMinMaxIndex)。 
6在变量名中使用互补对,如min/maxbegin/endopen/close。  

7布尔变量名应该包含Is,这意味着Yes/No 或 True/False 值,如 fileIsFound。   

8)即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名  称。仅对于短循环索引使用单字母变量名,如 或 j。   

9)为了帮助区分变量和例程,对例程名称使用Pascal大小写处理 (CalculateInvoiceTotal),其中每个单词的第一个字母都是大写的。对于变量名,使用 camel大小写处理 (documentFormatType),其中除了第一个单词外每个单词的第一个字母都是大写的。   

10)不要使用原义数字或原义字符串,而是使用命名常数,NUM_DAYS_IN_WEEK ,以便于维护和理解。  

2.代码书写规范 

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

(2)使用shape和selector

(3)图片尽量分拆成多个可重用的图片

(4)服务端可以实现的,就不要放在客户端

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

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

(7)使用静态变量方式实现界面间共享要慎重

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

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

(10)复杂布局使用RelativeLayout

(11)自适应屏幕,使用dp替代pix

(12)使用animation-list制作动画效果

(13))建立标准的缩进大小(如四个空格),并一致地使用此标准。用规定的缩进对齐代码节。  

(14)在发布源代码的硬拷贝版本时使用特定的字体以及字号(新宋体、小五号)。

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

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

名称

缩写

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)


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

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

用统一的量词通过在结尾处放置一个量词,就可创建更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用strCustomerFirststrCustomerLast,而不要使用strFirstCustomerstrLastCustomer
量词列表:量词后缀说明
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

 在使用xmltilemode来配图片时,element图片使用此后缀

nor

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

hl

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

press

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

select

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

unselect

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

 

 

 

 

 

 

 

 

 

    资源布局文件(XML文件(layout布局文件)):

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

1)contentview命名, Activity默认布局,以去掉后缀的Activity类进行命名。不加后缀

       功能模块.xml

       例如:main.xmlmore.xml、settings.xml

        或则:activity_ 功能模块 .xml

        例如:activity_main.xmlactivity_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.xmlinclude_bottom.xml

5).adapter的子布局:功能模块_item.xml

       例如:main_item.xml

11   layout中的id命名

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



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值