android自用规范一:资源命名篇

最好的规范就是没有规范,项目产出的代码如同一个人写出来的一样
为了行文流畅,先描述下常见的命名法:

  1. 驼峰(camel),首字母小写,比如: firstName
  2. 帕斯卡(Pascal)首字母大写的驼峰,比如:FirstName
  3. 驼峰下划线,一般用于区别某个元素的从属模块和当前功能,在ID命名中比较常见
  4. 小写下划线,一般用于安卓资源文件的命名,比如:zoom_in
  5. 全部小写,用于java包名

Activity、Fragment

按照Activity的作用,采用帕斯卡命名。Activity、fragment作为最后词语补充,参考下面图片
xml名字使用IDE自动生成的命名规则,无需修改

fragment以此类推

自定义控件类名

派生自View的,选择View结尾
派生自ViewGroup的,选择Layout结尾

控件ID

按照 控件缩写名_模块名_功能名,采用驼峰下划线命名
原生的控件我们采用缩写名,自定义控件参考它继承的父类名。比如自定义控件ZXCustomLayout的父类是RelativeLayout,则其前缀缩写是 rl

原生控件全名 缩写
View vw
TextView tv
EditText et
ImageButton ib
Button btn
ImageView iv
ListView lv
GridView gv
ProgressBar pb
SeekBar sb
RadioButtion rb
CheckBox cb
ScrollView sv
LinearLayout ll
FrameLayout fl
RelativeLayout rl
Recyclerview rv
WebView wv
VideoView vv
Spinner spn
ToggleButton tb

拿登陆打比方:et_login_userName、et_login_password、 btn_login_submit,这样的好处是:

  1. 命名冲突减少,我们在代码R.id.et_login_userName能直接定位到xml元素。
  2. 对应控件的作用在看代码的时候一目了然。

控件的变量名

(全局变量加m)+缩写(首字母大写)+功能名
比如 mTvUserNamemIvUserAvatar

资源文件

png文件在添加到项目之前必须经 tinyPng压缩过

此类资源涵盖res下所有文件夹。
如果项目是插件结构,也就是一个宿主,有多个插件Moudle,建议资源文件加上插件的缩写作为前缀:插件名称homeworkhw_zoom_in.xml

避免资源文件重名原因

这些文件的命名优先参考** 描述当前资源的特性 ,没啥好描述的就使用 资源在所属模块的作用,采用小写下划线**命名,下面是一些例子

  • 一个缩放动画:zoom_in.xml

  • 一个圆角方形灰边的形状:round_square_frame_gray.xml

  • 一个按钮的背景,按下变灰,不按透明:selector_transparent_gray.xml

  • 一个图片:arrow_left_gray.png,描述顺序按照特征显著程度递减
    好处是按照特征方便归类,白色朝左的箭头我们就可以在arrow_left_*下面找
    下图我们首先注意到他是一个箭头,然后朝左的,其次颜色好像是灰色的。

    一个箭头、朝左、灰色

  • 一个不好描述的图片:game_bg
    这种资源一般作用场景单一,复用模块比较少,我们就按照资源在所属模块的作用原则来描述

    实在不知道咋形容

善用模板增加可阅读性

下面两个类,对于使用人来说,哪个更直观?


三无产品.png
头文件注释.png

在android studio 里,我们可以这样设置头文件注释

android studio设置头文件.jpg

下面是我们组里使用的头文件注释模板

  1. 功能:这个类是干啥的
  2. 描述:如何使用这个类
  3. 署名、日期:联系上作者
/**
 * 功能:
 * 描述:
 * Created by 作者名 on ${DATE}.
 */
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • 文章来自https://github.com/Blankj/AndroidStandardDevelop#安卓开发...
    小庄bb阅读 747评论 0 1
  • 还记得刚开始coding的时候,命名都是汉语拼音,所以有的时候想看懂它的意思,就要读一遍甚至好几遍才知道,这还是在...
    leo62阅读 8,830评论 2 19
  • Android 编码规范 1. 前言 这份文档是 Google Java Code Style 的译文,并稍有添加...
    人失忆阅读 442评论 0 3
  • 通常我们为了项目的维护会定下一系列的规范开发来提高自己或者团队之间的写代码的效率,正所谓无规矩不成方圆。 Andr...
    cpacm阅读 2,088评论 7 63
  • 【2016.09.15】 今天中秋节了。 我在大学的最后一个中秋,还是没有回家过。 虽然还是一个人,今年的中秋还不...
    真的以为阅读 249评论 0 0