书里面讲的比较常见,单个人也是有不同的观点;

因为android绝大部分使用java开发的,因此java相关规范适用于android:

Google Style:

英文地址:http://google-styleguide.googlecode.com/svn/trunk/javaguide.html

中文翻译:http://www.blogjava.net/zh-weir/archive/2014/02/08/409608.html

然后说下我在android开发中的命名规范和编码规范:

先分享一个我经常参考的规范:

http://blog.csdn.net/vipzjyno1/article/details/23542617

http://blog.csdn.net/wwj_748/article/details/42347283

内容基本类似

activity命名规范:页面名称+Activity;

adapter命名规范:页面名称+Adapter;

Entity命名规范:书里面是模块或者页面名称+Entity,但是我个人习惯是接口名称作为前缀+Result(这个如果有意见,可以在评论区里面进行探讨)。

资源文件命名:

页面布局文件:和书里面不一样,我是以activity或者frament文件命名语句倒叙来命名,比如LoginActivity,laout文件会命名为activity_login.xml;

ListView的item文件以item来开头,以列表名称结尾,和书里面保持一致。

drawable文件命名规范:按下背景切换的用selector结尾;

书里面比较优秀的观点:

只有一个页面使用的文件,以页面名称作为前缀;

如果一个文件一个模块多个文件使用,以模块作为前缀;

如果多个模块使用,则以common来最为前缀。

常用控件缩写:

同如下网页里面分享的

http://blog.csdn.net/vipzjyno1/article/details/23542617

关于layout中的id命名和初始化视图控件变量的时候的命名,我和书里面保持一致,都是和layout里面的命名保持一致,有利于拷贝,粘贴。

关于颜色命名,我认为以颜色名称命名不怎么好,我的方式是color_dc181c = "#dc181c"这种形式。

关于尺寸的命名也是一样,我的命名是dimen_45dp = "45dp"这种。

android里面代码风格的统一,除了如果的规范外,可以通过模板模式,在基类对规范的风格进行统一,通过抽象方法来控制,比如initView()和initDate(),组件单击事件这种抽象的方法封装在基类里面,每个队员写代码的时候,必须继承自你的基础代码,然后在统一的代码块里面进行编写。

layout文件里面不要常量数据封装到string.xml文件里面去,不建议在布局文件里面处理。

布局预览可以通过tool来进行控制:

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Second"
tools:visibility="visible" />

类似也有tools:text = "android"这种方式。

Adapter绑定数据一律arrayList,这点表示同意。

网络操作或者图片缓存建议使用成熟的库进行处理,而不是自造轮子处理。

建议使用application的context,而不是使用activity的context,因为容易内存泄露的。

使用常量代替枚举。

最后推荐两个规范和方式bug的工具,androidstudio的format统一code的风格checkstyle,findbugs。

第四章 android 命名规范和编码规范的更多相关文章

  1. [旧][Android] 命名规范和编码规范

    备注 原发表于2016.05.07,资料已过时,仅作备份,谨慎参考 前言 本文适用范围:已参加项目开发的人 写这篇文章的目的是为方便地对代码进行管理,让整个团队的代码规范化.这里的部分规定可能和你在其 ...

  2. 第四章Android移植环境搭建

    第四章Android移植环境搭建 这一章主要学习如何搭建 Android 移植的环境.因为 Android 底层是基于 Linux 内核的,所以本章从交叉编译环境等嵌入式开发环境的搭建开始,介绍了 B ...

  3. 《从零开始学Swift》学习笔记(Day 56)——命名规范Swift编码规范之命名规范

    原创文章,欢迎转载.转载请注明:关东升的博客 程序代码中到处都是自己定义的名字,取一个有样并且符合规范的名字非常重要. 命名方法很多,但是比较有名的,广泛接受命名法有: 匈牙利命名,一般只是命名变量, ...

  4. Android 命名规范和编码规范

    简明概要  多写注释 一.关于命名规范 对于开发项目来说肯定是要有统一的规范,然而命名规范需要做到哪几点呢? 答: 首先,不能反人类. 再来就是,要望文而知其意. 下面就来说说具体该怎么去规范我们的代 ...

  5. web项目开发 之 前端规范 --- HTML编码规范

    此文严格按照W3C规范和部分实际项目可读性,浏览器加载,性能等众多属性权衡,做出平时前端编码规范文 档.供广大web工作者参考并实施,对维护和项目扩展升级都能省时省力. 转载请注明出处,JS前端实用开 ...

  6. C#命名规则和编码规范

    用Pascal规则来命名属性.方法.事件和类名. public class HelloWorld { public void SayHello(string name) { } } Pascal规则是 ...

  7. 【ALearning】第四章 Android Layout组件布局(一)

    在本章中,我们将Android学习组件布局.在前面的章节,我们也开始使用LinearLayout布局.然后我们在布局文件更加具体的学习和理解,会. Android的界面是有布局和组件协同完毕的,布局好 ...

  8. 【ALearning】第四章 Android Layout组件布局(二)

    前面我们分别介绍和学习了LinearLayout(线性布局).FrameLayout(单帧布局)和AbsoluteLayout(绝对布局).这次我们要进行RelativeLayout(相对布局)和Ta ...

  9. 建立标准编码规则(四)-C#编码规范分类及实现

    1 现实中的问题 在任何一个公司,每个程序员编写的习惯可能都是不一样的,大到命名空间,小到变量的名字.甚至,我们去github,里面的大牛每个开源的项目的命名规则可能都不一样. 我们通常会遇到下面的问 ...

随机推荐

  1. bzoj1588: [HNOI2002]营业额统计 splay瞎写

    最近各种瞎写数论题,感觉需要回顾一下数据结构 写一发splay冷静一下(手速过慢,以后要多练练) 用splay是最直接的方法,但我感觉离散一波应该可以做出来(没仔细想过) 现在没有很追求代码优美,感觉 ...

  2. quagga源码分析--内核通信netlink

    Linux操作系统中当CPU处于内核状态时,可以分为有用户上下文的状态和执行硬件.软件中断两种.其中当处于有用户上下文时,由于内核态和用户态的内 存映射机制不同,不可直接将本地变量传给用户态的内存区: ...

  3. (四)python自带解释器(LDIE)的使用

    什么是IDE? Integrated Development Environment(集成开发环境) 打个不恰当的比方,如果说写代码是制作一件工艺品,那IDE就是机床.再打个不恰当的比方,PS就是图片 ...

  4. 在VirtualBox上安装CentOS7

    文章的出处:http://jingyan.baidu.com/article/9c69d48f8ec01613c8024e58.html 工具: VirtualBox-5.1.2-108956-Win ...

  5. JSON对象和字符串的转换

    JSON.parse()和JSON.stringify()   1.parse 用于从一个字符串中解析出json 对象.例如 var str='{"name":"cpf& ...

  6. String.split()分割字符串

    string.split(s[, sep[, maxsplit]]) Return a list of the words of the string s. If the optional secon ...

  7. GC(垃圾回收)

    Java程序的内存分配和回收都是由JRE在后台自动进行的.JRE会负责回收那些不再使用的内存,这种机制被称为垃圾回收GC.通常JRE会提供一条超级线程来进行检测和控制,一般都是在CPU空闲或内存不足时 ...

  8. Zookeeper,Kafka,Spark关系

    Kafka中ZooKeeper的用途 正如ZooKeeper用于分布式系统的协调和促进,Kafka使用ZooKeeper也是基于相同的原因.ZooKeeper用于管理.协调Kafka代理.每个Kafk ...

  9. 【 VS 插件开发 】二、了解Vs插件结构

    [ VS 插件开发 ]二.了解Vs插件结构

  10. CodeForces 709C Letters Cyclic Shift

    贪心. 肯定是两个$a$之间的那些字符都$-1$,没有$a$就全部$-1$.如果输入的串全是$a$,那么把最后一个$a$改成$z$. #pragma comment(linker, "/ST ...