Android:代码的规范

代码规范

1.书写规范

  • 编码方式统一用UTF-8. Android Studio默认已经是UTF-8,只要不去改动它就可以了
  • 一个方法最多不要超过40行代码
  • 文字大小的单位统一用 sp,元素大小的单位统一用 dp
  • 应用中字符串统一在 strings.xml 中定义,然后在代码和布局文件中引用
  • 颜色值统一在 colors.xml 中定义,然后在代码和布局文件中引用。另外,不要在代码和布局文件中引用系统的颜色,除了透明

2.命名规范

1. 包命名

域名反写+项目名称+模块名称,全部单词用小写字母

  • 如:www.shbj.com —– 写成: com.shbj.mydemo.home

2. 类和接口命名

使用大驼峰规则,用名词或名词词组命名,每个单词的首字母大写

  • activity类,以Activity结尾,如:MainActivity
  • fragment类,以Fragment结尾,如:HomeFragment 或 Home_Fragment
  • service类,以Service结尾,如:DownloadService
  • adapter类,以Adapter结尾,如:GoodsAdapter
  • 工具类,以Util结尾,如:JsonUtil
  • 模型类,以Entity,Bean结尾,如:GoodEntity,GoodBean
  • 接口实现类,以 Impl 结尾或大写 I 开头,如:AppImpl或者IApp

3. 方法命名

使用小驼峰规则,用动词命名,第一个单词的首字母小写,其他单词的首字母大写

  • 初始化方法,以init开头,例如:initView
  • 按钮点击方法,以to开头,如:toLogin
  • 设置方法,以set开头,如:setData
  • 具有返回值的获取方法,以get开头,如:getData
  • 通过异步加载数据的方法,以load开头,如:loadData
  • 布尔型的判断方法,以is或has,或具有逻辑意义的单词如equals 开头,如:isEmpty

4. 控件缩写

控件缩写控件缩写
TextViewtxtEditTextedt
ButtonbtnImageButtonibtn
ImageViewimgListViewlist
LinearLayoutllayoutRelativeLayoutrlayout
RadioGroupgroupRadioButtonrbtn
ProgressBarprogressSeekBarseek
CheckBoxchkSpinnerspinner
TableLayouttableTableRowrow
ScrollViewscrollSearchViewsearch
TabHosthostTabWidgetwidget

5. 常量命名

  • 单词字母全部大写,单词之间用下划线分开
public static final int PAGE_SIZE = 20;

6. 变量命名

{范围描述+}意义描述+类型描述的组合,用驼峰式命名法则,首字母小写

private TextView mTitleTxt;  //标题栏的标题
private Button loginBtn;     // 登录按钮
private GoodEntity goodEntity;

7. 控件id命名

控件缩写_{范围_}意义,范围可选,只在有明确定义的范围内才需要

<!-- 这是标题栏的TextView -->
<TextView
    android:id="@+id/txt_title";
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
<!-- 这是登录按钮 -->
<Button
    android:id="@+id/btn_login";
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

8. layout命名

字母必须全小写且中间不能有空格,否则会报错
组件类型_{范围_}功能,范围可选,只有在明确定义的范围内才需要

activity_{范围_}功能,为Activity的命名格式:LoginActivity ---> activity_login

fragment_{范围_}功能,为Fragment的命名格式:LoginFragment ---> fragment_login

dialog_{范围_}功能,为Dialog的命名格式

item_list_{范围_}功能,为ListView的item命名格式  

item_grid_{范围_}功能,为GridView的item命名格式

header_list_{范围_}功能,为ListView的HeaderView命名格式

footer_list_{范围_}功能,为ListView的FooterView命名格式

9. strings的命名

类型_{范围_}功能,范围可选

  • 页面标题,命名格式:title_页面
  • 按钮文字,命名格式:btn_按钮事件
  • 标签文字,命名格式:label_标签文字
  • 选项卡文字,命名格式:tab_选项卡文字
  • 消息框文字,命名格式:toast_消息
  • 编辑框提示文字,命名格式:hint_提示信息
  • 图片的描述文字,命名格式:desc_图片文字
  • 对话框的文字,命名格式:dialog_文字
  • menu的item文字,命名格式:action_文字

10. colors的命名

前缀{_控件}{_范围}{_后缀},控件、范围、后缀可选,但控件和范围至少要有一个

  • 背景颜色,添加 bg 前缀
  • 文本颜色,添加 text 前缀
  • 分割线颜色,添加 div 前缀
  • 区分状态时,默认状态的颜色,添加 normal 后缀
  • 区分状态时,按下时的颜色,添加 pressed 后缀
  • 区分状态时,选中时的颜色,添加 selected 后缀
  • 区分状态时,不可用时的颜色,添加 disable 后缀

11.drawable的命名

前缀{_控件}{_范围}{_后缀},控件、范围、后缀可选,但控件和范围至少要有一个

  • 图标类,添加 ic 前缀
  • 背景类,添加 bg 前缀
  • 分割类,添加 div 前缀
  • 默认类,添加 def 前缀
  • 区分状态时,默认状态,添加 normal 后缀
  • 区分状态时,按下时的颜色,添加 pressed 后缀
  • 区分状态时,选中时的颜色,添加 selected 后缀
  • 区分状态时,不可用时的颜色,添加 disable 后缀
  • 多种状态的,添加 selector 后缀(一般为ListView的selector或按钮的selector)

12.动画文件命名

动画类型_动画方向

  • fade_in ,淡入
  • fade_out ,淡出
  • push_down_in,从下方推入
  • push_down_out,从下方推出
  • slide_in_from_top,从头部滑动进入
  • zoom_enter,变形进入
  • shrink_to_middle,中间缩小

其他

1.标识符命名法(熟悉)

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

2.重要几点(熟练使用)

  1. 接口的命名:使用帕斯卡(pascal)命名法,每个单词首字母都要大写
  2. 方法名:驼峰命名法,除首单词外,其余所有单词首字母都要大写
  3. 成员变量
    3.1.记得加上成员修饰符

    // 修饰符的权限
    private     //只能被当前类的方法访问
    protected   //可以被所有子类访问,子类没有在同一个包中也可以访问
    public      //可以被任何类访问
    default     //不加任何修饰符就是默认。可以被同一个包下的所有类访问;如果子类没有在同一个包下,则不能访问
    

    3.2.命名规范,一般成员变量要在变量前加上一个 m ,如:

private List<CartBean> mDatas;
private Context mContext;
boolean mEdit;  
private CardDao mcartDao;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值