Android 开发规范

开发规范,对于初学者可能不会太在意,但真正项目中,规范尤为重要。一个好的开发规范,可以说是一种艺术,不仅仅有利于后期维护,对代码的可读性,美观性都有影响。下面整理了android项目开发相关的规范。个人知识有限,还望大家补充。

命名规范

创建项目时的项目名称:

  • 最好是英文,在项目做完签名打包apk的时候,省去一些麻烦。(中文也不影响,但最后要改过来,不然不好打包)

包名的组织:

  • 为防止应用程序在手机中安装失败,必须要保证写的项目的包名是唯一的。一般以公司的域名的倒写作为包名的第一部分;第二部分为应用名;第三部分为具体包的模块名。【域名倒写+应用名称+包的具体模块】

  • 举个实际例子:我之前为苏州科技学院做了一个打卡助手的应用。学校域名为www.usts.edu.cn。那包名就可以这样写:cn.edu.usts.cardhelper,当然这只能作为应用全局的包名,为使逻辑清晰,需继续划分各个不同的包,这里有两种划分形式:一种是按功能模块来划分,一种是按android的一些组件来分。后面一种用的多一些。

  • 简单说一下后面一种常用的包名的组织 有 activities,fragments,service,receiver,adapter,domain,utils,db,dao,test等

附一张打卡助手的项目包名组织截图:

Android 开发规范_第1张图片

布局文件命名:

  • 如果布局文件是为activity写的,那么就这样命名:activity_main, activity_splash, activity_login

  • 如果布局文件是为fragment写的,那么就这样命名:fragment_one, fragment_two, fragment_three

  • 如果布局文件是为listview的一个条目写的,那么就这样命名:item_video_list, item_music_list

  • 如果布局文件是单独的一个布局,是写给其它布局用的,比如常见的标题栏的布局,就可以这样命名:layout_title

附一张手机影音的项目布局文件截图:

Android 开发规范_第2张图片

布局文件控件的命名:

  • 可以遵循这样一种原则:控件简写 + 功能
    如:tv_title 表示显示标题的TextView  iv_play 表示播放功能的ImageView

  • 如果多个布局文件有相同功能的控件,依然可以用上面的原则,但为了便于自己区分,可以这样:简写 + 所处的布局文件 + 功能
    如:tv_splash_title, tv_main_title 分别表示显示splash页面标题的TextView和显示main页面的标题

资源图片的命名:

  • 可以遵循这样一种原则:所属控件/activity+功能+状态
    如:btn_play_default,btn_play_pressed,main_tab_query_default,main_tab_query_pressed

  • 当然这里不唯一,只要自己不会忘了当初命名的所遵循的规范即可。

附几张图片资源的命名图:

Android 开发规范_第3张图片 Android 开发规范_第4张图片

资源文件的命名(drawable文件夹下的.xml文件)

  • 该文件夹下,主要放一些选择器相关的xml文件,或者自定义的一些形状,控件样式等。

  • 以选择器为例,习惯这样命名:selector_btn_play

附张截图:

Android 开发规范_第5张图片

常量的命名

  • 要大写,用final修饰,用下划线分割。
public static final int STUDENT_NUMBER = 50;
  • 如果常量较多,可以写一个Constants类,专门用来存放一些常量。

附张截图:

Android 开发规范_第6张图片

变量的命名

  • 变量要具有实际意义,一看就懂。
    比如 :
private boolean isLogin = true; 
private TextView tvTitle;   
private ImageView ivPlay;

方法的命名

  • 方法名也要具有实际意义。
    比如 :
getDataFromSvr()
parseData()
updatePlayProgress()

注释规范

  • 自己写的一些接口文件,里面的方法一定要写注释。因为接口是给人用,但别人要知道具体是干什么的。

  • 一般开发,只要在方法上面写个注释就行了。

  • 当修改一些源码时,要加注释,格式如:

    Added/(Modified/ Deleted) by 开发者姓名 年-月-日;

数据库规范

  • 建库建表建字段,这是所有数据库都有的操作,应该放在一个类中

  • 增删改查的方法,应该放在dao层

  • 增删改查方法写好后,一定要做单元测试,在test包下写方法测试。

其它规范

  • xml布局文件中,不要出现中文,全部抽取到strings.xml文件中,方便应用国际化。

  • 颜色值也可以不写死,抽取到colors.xml中,方便后期调整。

  • 对于多个相同控件有相同属性的情况,可以将这些相同的属性抽取到styles.xml文件中,使代码既简洁有便于修改。

  • 一些控件的大小可以抽取到dimens.xml文件中,方便后期屏幕适配。


PS:本文整理的规范,有个人主观的因素在其中,或许有的与你们不太一致。接受不同意见~

欢迎大家补充,共同成长~

你可能感兴趣的:(android高级)