zoukankan      html  css  js  c++  java
  • Android编码规范

    转自http://laobie.github.io/android/2015/11/02/code-style-guideline-for-android.html

    在开发中,遵循良好的编码规范,不仅仅可以提高代码的可读性,减小出错的可能性,同时也降低与其他开发者交流的成本,易于他人的维护与协作。 本文简单总结了Android开发中的一些代码规范,供开发者参考。

    基本要求

    • 除了注释,代码中不出现中文
    • 每个类写上必要的注释,类的说明,作者,联系方式
    • 方法加上必要的注释说明,方便以后维护

    包管理

    1. base:存放基础类的包,里面的类以Base为前缀,例如BaseActivity
    2. activity:存放activity的包,每个activity命名以Activity结尾,例如MainActivity;
    3. fragment:存放fragment的包,每个fragment命名以Fragment结尾,例如ChatFragment;
    4. receiver:存放receiver的包;
    5. service:存放service的包;
    6. adapter:存放adapter的包,每个adapter命名以Adapter结尾,例如EventItemAdapter;
    7. common:存放一些公共常量,例如后端接口、SharedPreferenceKeyIntentExtra等;
    8. utils:存放工具类的包,比如常见的工具类:LogUtilsDateUtils
    9. entity:存放实体类的包;
    10. widget:存放自定义View的包;

    以上是一些常见的包,但不局限于此,视项目的具体情况而定。

    命名

    大驼峰命名(UpperCamelCase):每个单词的第一个字母都大写。

    小驼峰命名(lowerCamelCase):除第一个单词以外,每一个单词的第一个字母大写。

    命名的基本原则:

    • 尽可能地使用统一的命名规范;
    • 不使用汉语拼音;
    • 除了常见的英文缩写,尽量少地使用缩写;
    1. 包命名
    • 小写字母,参见上文包管理;
    • 连续的单词直接连接起来,不使用下划线;
    2. Java类命名
    • 大驼峰命名 UserListAdapter
    • 除常见的缩写单词以外,不使用缩写,缩写的单词每个字母都大写 RequesURLList
    • 公共的工具类建议以UtilsManager为后缀,如LogUtils
    • 接口命名遵循以上原则,以ableible为后缀;
    3. 变量命名
    • 成员变量命名
      • 小驼峰命名;
      • 不推荐使用谷歌的前面加m的编码风格(如果使用团队中使用m,则统一使用);
    • 常量命名
      • 单词每个字母均大写;
      • 单词之间下划线连接;
    • 控件变量命名
      • 小驼峰命名;
      • 建议使用 控件缩写+逻辑名称 格式,例如 tvPostTitleetUserName
      • 对应的控件的id的命名控件缩写_逻辑名称,单词均小写,用下划线连接,例如:tv_post_titleet_user_name
      • 常见的控件缩写如下:
    控件缩写
    Linearlayout ll
    RelativeLayout rl
    TextView tv
    EditText et
    Button btn
    ImageView iv
    CheckBox chb
    ListView lv
    GridView gv
    RadioButton rb
    4. 方法命名
    • 小驼峰命名;
    • Getter和Setter方法,推荐使用自动生成的,写起来也很方便。注意,bool类型的变量Getter方法写成isTrue这种;
    • 方法名应当保证见名知义的原则,尽量不使用or或者and,遵循“do one thing”原则;
    5. 布局文件命名
    • activity、fragment布局文件名以对应的类别名称为前缀,逻辑名称放在其后,以下划线连接,例如activity_homefragment_chat_list,方便查找;
    • ListView、GridView的item布局文件建议以list_itemgird_item为前缀,加上对应的逻辑名称,例如 list_item_postgrid_item_photo
    • Dialog的布局文件以dialog为前缀,逻辑名称放在其后,下划线连接,例如dialog_warnning;
    • 包含项布局命名以include开头,在加上对应的逻辑名称,例如include_foot
    • 控件的id命名参见控件变量命名;
    6. 资源命名
    • 图标资源以ic为前缀,例如ic_chat,指聊天图标;
    • 背景图片以bg为前缀,例如bg_login,指的是登录页的背景图;
    • 按钮图片以btn为前缀,例如btn_login,指的是登录按钮的图片,不过这只有一种状态,需要加上状态的可以在后面添加,例如btn_login_pressed,表示登录按钮按下的图片;
    • 当使用shape和selector文件为背景或者按钮时,命名参照以上说明;

    参考资料:

    最佳实践之Android代码规范

    Android研发规范

    Google的Java编程规范指南

  • 相关阅读:
    名字匹配(水题)
    奇怪的键盘
    杰杰的键盘
    Windows Message Queue(优先队列)
    筛法求素数
    会场安排问题(贪心)
    Sail
    Elevator
    Lowest Bit
    File Searching
  • 原文地址:https://www.cnblogs.com/8dull/p/5370134.html
Copyright © 2011-2022 走看看