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

因为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. [ios2]ASIHTTPReques 清除所有持久连接

    http://www.winddisk.com/2012/08/27/iphone_screenlock_network_disconnection/ + (void)clearPersistentC ...

  2. GMap学习笔记

    GMap学习笔记 1.GMap体系详解 What is the map control (GMapControl)? This is the control which renders the map ...

  3. C# 线程同步之排它锁/Monitor监视器类

    一.Monitor类说明,提供同步访问对象的机制. 1.位于System.Threading命名空间下,mscorlib.dll程序集中. 2.Monitor通过获取和释放排它锁的方式实现多线程的同步 ...

  4. trove 开发者阅读翻译

    介绍 Trove为OpenStack提供数据库的服务.它的设计运行完全符合OpenStack,目标是让用户能快速.轻松地利用关系数据库的特点,没有负担的处理复杂的管理任务.云用户和数据库管理员可以根据 ...

  5. Python学习笔记进阶篇——总览

    Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Pyth ...

  6. jquery插件autoComplete自动弹出

    导入 <link rel="stylesheet" href="${ctx }/static/plugins/jQuery-autoComplete-master/ ...

  7. DrawingCombiner——CAD图纸批量合并软件

    DrawingCombiner是一款CAD图纸批量合并软件,可以批量合并多个dwg或dxf文件为单个dwg文件,并可以设置合并后的排列方式. 此程序附属MagicTable(可到依云官网下载:http ...

  8. 运用PhantomJS测试JavaScript

    我认为我不需要说服你,测试你的JavaScript代码是一个好主意.但是,测试需要DOM操作的JavaScript代码有时候确是繁琐的.这意味着你需要在浏览器中测试代码而不能使用终端,对吗?错了,事实 ...

  9. springmvc基础篇—掌握三种处理器

    随着springmvc的广泛使用,关于它的很多实用有效的功能应该更多的被大家所熟知,下面就介绍一下springmvc的三种处理器: 一.BeanName处理器(默认) <?xml version ...

  10. QLibraryInfo

        读取 qt.conf 文件, 获取 Qt Library 的信息.     通常会在以下三个路径查找conf文件:         :/qt/etc/qt.conf(使用资源系统时)      ...