android命名规范和编码规范

前言

大家或许都有接手过别人的代码,最大的共同感悟就是:这代码写得真烂!!命令混乱、文件随意存放,xml文件中夹带着中文,class中有class,activity中带adapter等等。单理清这个项目脉络就要花上个一个星期。但反思自己,是不是也曾是(甚至现在还是)自己心里痛骂过千遍的那个人,自己是不是也在犯着同样的错误?最近在阅读包老师的《APP启示录》里面第4章有提及命令规范和编码规范,就抄录到这里,方便自己查阅,也期望能给大家提供些许帮助。

命名规范

1.Java类命名规范

     a.Activity命名规范:以Activity作为后缀,如:HomeActivity;

     b.Adapter命名规范:以Adapter作为后缀,如:PersonAdapter;

     c.Entity命名规范:以Entity作为后缀,如:CustomerEntity;

2.资源文件命名规范

   layout目录下的资源文件命名规范:

      a.页面布局文件:以act_为前缀,以activity所在的package作为中缀,以activity名称作为后缀(切除activity)。注意:全部都用小写。如:act_activity_addcustomer.xml

      b.listView中的item布局文件:以item作为固定前缀,列表项的名称作为后缀。注意:都是小写。如:item_lv_userlist.xml

      c.dialog布局文件:以dig_作为前缀,Dialog的功能名称作为后缀,注意:都是小写。如:dig_err_message.xml

    drawable目录下的文件命名规范:

       a.对于只有一个页面使用的资源:以该页面的名称作为前缀。

       b.对于在一个模块下多个页面使用的资源:以该模块的名称作为前缀。

       c.对于在各个模块、各个页面都有可能用到的资源,以common作为前缀。

  3.Java类中控件对象的命名规范&Layout中控件对象的ID命名规范

     控件类型+控件的逻辑名称(首字母大写),如登录按钮:btnLogin.

   4.strings.xml中常量的命名规范

    这里面的值大多数是在layout的控件上使用,所以以该常量所在的activity名称作为前缀,后面接空间名称,再后面就自由发挥了,如:loginActivity_btnLogin_text

    5.常量命名

    只能包含字母和下划线,字母全部大写。

编码规范

    1.分门别类存放各种类:


分门别类存放各种类

    2.layout中用到的常量,都要在strings.xml中定义。

    3.layout中所有控件的字体大小,都定义在dimens.xml中。这样做的好处是,只要稍微改变一下dimens.xml中的定义,就可以批量修改页面的样式。

    4.activity的onCreate拆分为以下三部分(遵循单一职责原则):

          a. initVariables:初始化变量(包括Intent上的数据和activity内部使用的变量)

          b.  initViews:加载layout布局文件,初始化控件。

          c.loadData:调用MobileAPI

   5.使用fastJSON自定义实体作为MobileAPI的数据载体

   6.页面之间传值,使用Intent携带序列化实体数据的方式。

   7.为控件添加事件,统一使用如下形式:


控件事件

   8.activity中不要嵌套内部类

   9.Adapter绑定的数据,统一采用ArrayList<自定义可序列化实体>

  10为节省内存,请使用ArrayList<自定义实体>,而不是HashMap.

  11.图片的处理,统一采用第三方组件ImageLoader或Fresco.

  12.简单的配置信息、设置页面的各种开关使用SharePreferences存储。

  13.尽量使用ApplicationContext代替Context,避免内存泄露。

目的

做这些规范,根本目的就是要统一一个团队的编码习惯,使一个项目中的代码,看上去都像是一个人写的。

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

推荐阅读更多精彩内容