为了账号安全,请及时绑定邮箱和手机立即绑定

Android代码规范整理

标签:
Android

1 文件命名

个人主页:http://www.jianshu.com/u/9be0df6428d5

1.1 类文件命名 参考.

类命名方式采用 大驼峰 命名法

对于继承自安卓组件的类来说,类名应该以该组件名结尾,例如 : SignInActivitySignInFragmentImageUploaderServiceChangePasswordDialog.

对于工具类来说,命名方式应该以其完成功能开始,以 Utils 结束 ,例如 :HttpUtils , ImageUtils.

1.2 资源文件

资源文件以__小写加下划线__的方式命名.例如 :R.layout.activity_main ,

1.3 Drawable文件

  • icon文件的命名规范

Asset TypePrefix 前缀Example
Iconsic_ic_star.png
Launcher iconsic_launcheric_launcher_calendar.png
Menu icons and Action Bar iconsic_menuic_menu_archive.png
Status bar iconsic_stat_notifyic_stat_notify_msg.png
Tab iconsic_tabic_tab_recent.png
Dialog iconsic_dialogic_dialog_info.png
  • 选择器状态文件的命名规范

StateSuffix 尾缀Example
Normal_normalbtn_order_normal.9.png
Pressed_pressedbtn_order_pressed.9.png
Focused_focusedbtn_order_focused.9.png
Disabled_disabledbtn_order_disabled.9.png
Selected_selectedbtn_order_selected.9.png

1.4 布局文件

布局文件的命名需要与他所嵌入的安卓组件匹配,但是将组件名称前移到开始处,例如,我们要创建一个名字为 SignInActivity , 其名字应该为 activity_sign_in.xml.

Component 组件Class NameLayout Name
ActivityUserProfileActivityactivity_user_profile.xml
FragmentSignUpFragmentfragment_sign_up.xml
DialogChangePasswordDialogdialog_change_password.xml
AdapterView Item---item_person.xml

1.5 类变量命名

  • 公有变量按 小驼峰 法命名

  • 私有 & 非静态成员变量以 m 开头

  • 私有 & 静态成员变量以 s 开头

  • 常量以大写字母和下划线 _ 组成

  • 尽量使用 功能/描述 + 类型 的模式 ,如 mNameTextView

  • 类中变量的组件类型请不要使用缩写

  • 注意不要使用 aa bb cc3 这种变态的命名方式 !!

  • 类变量过多时请 分块摆放 并且 写好注释

  • 接口类 请直接定义在类的最后

Example:

public class MyClass {    //静态常量
    public static final int SOME_CONSTANT = 42;    //公有变量
    public int publicField;    //私有静态变量
    private static MyClass sSingleton;    //默认变量
    int mPackagePrivate;    //私有变量
    private int mPrivate;    //继承型变量
    protected int mProtected;
}

1.6 类方法命名

  • 类方法采用 小驼峰 命名法

  • 根据函数所完成功能命名 , 如 changView()

  • 在函数头写对于函数功能、参数和返回值的注释,如:

    /**
    * 获取两个数中最大的一个
    *
    * @param value1 参与比较的第一个数
    * @param value2 参与比较的第二个数
    * @return 两个参数中最大的一个数
    */public int max(int value1, int value2) {   return (value1 > value2) ? value1 : value2;
    }
  • 一个函数请尽量保持在 50行 之内 !!

1.7 布局文件变量命名

  • id 以 所在组件_类型_命名 的模式,例如: @+id/main_tv_name 、 @id/chat_btn_send

  • 布局多处重用的请使用 <include> 标签

  • 所有文本请定义在 strings.xml 中 , 如 @string/app_name

  • 重用dp请定义在 dimens.xml 中 , 如 @dimen/entry_item_height

  • 对应组件缩写表:

Component 组件Abbreviation 缩写
Fragmentfgm
TextViewtv
ImageViewiv
Buttonbtn
EditTextet
LinearLayoutll
ReleativeLayoutrl
normally : FirstSecondfs

1.8 strings.xml dimens.xml colors.xml xml变量命名

  • 遵循 完整性 规范性 有序性原则

  • __分块并注释__, 将 使用在不同的 Activity 或者 Fragment 中的 xml 变量 进行分块

  • 命名举例 :
    login_error_tips in strings.xml

login_error_tips_height in dimens.xml
login_error_tips_bg in colors.xml

Prefix 前缀Description 描述
error_An error message
msg_A regular information message
title_A title, i.e. a dialog title
action_An action such as "Save" or "Create"

1.9 额外注意

GoodBad
XmlHttpRequestXMLHTTPRequest
getCustomerIdgetCustomerID
String urlString URL
long idlong ID

2 代码规范


This is good

if (condition){
    body();
}

This is __bad__:

if (condition) body();  // bad!

This is __good__:

<TextView
    android:id="@+id/text_view_profile"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

This is bad :

<!-- Don't do this! --><TextView
    android:id="@+id/text_view_profile"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" ></TextView>

原文链接:http://www.apkbus.com/blog-302849-63556.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消