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

因为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. log4net 开箱即用

    废话少说,先上代码 log4net Demo 好的系统都有日志,log4net 是我在.net平台下用过最爽的日志库,简单易用.功能强大. 基于配置(配置很简单,一看就明,通用,拷去即用): 可同时保 ...

  2. Java核心技术 卷Ⅰ 基础知识(1)

    第三章 Java的基本程序设计结构 Java对大小写敏感 命名规范为骆驼命名法,不能使用保留字 main方法必须声明为public 如果main方法正常退出,java应用程序的退出代码为0,表示成功运 ...

  3. javascript提高篇+吐槽

    开篇吐槽 最近一直在投简历找工作,对于博主这样的屌丝应届生来说,一没过硬的技术,二没经验,三没高学历,四没炫酷的项目,五还没漂亮的简历,简直就是3无产品+2b青年.所以快1个月了投的简历没有收到一个面 ...

  4. [ios2]OS 6 SDK: 在应用内展示App Store【转】

    出于什么样的原因你会希望用户从你的iOS app中进入App Store呢?可能你想用户去App Store 为你的应用评分,也可能你希望用户看到你其他的iOS app.iOS 6引入了SKStore ...

  5. NG2入门 - 根模块

    根模块 app.module 建议大家先去学习angularjs官网的英雄教程后再进行后面的阅读,app.module.ts 就是ng2应用中的引导启动模块也称根模块 import { NgModul ...

  6. SQL注入(二)

    5.限制输入长度 如果在Web页面上使用文本框收集用户输入的数据,使用文本框的MaxLength属性来限制用户输入过长的字符也是一个很好的方法,因为用户的输入不够长,也就减少了贴入大量脚本的可能性.程 ...

  7. 供求WAP-VUE 笔记

    记录项目的经历 1. 项目简介 1. 项目采用 vue.js 显示数据的 wap 页面, v-resourse 异步请求, v-router 路由(暂时没用) 2. 采用 flex 布局页面 2. 页 ...

  8. Linux CentOS 7 YUM 安裝 MySQL 5.7

    MySQL YUM 源:http://dev.mysql.com/downloads/repo/yum/ # 下載源 $ wget http://dev.mysql.com/get/mysql57-c ...

  9. MiniMetro Items

    圈代表居民区三角写字楼等工作区方块是商业区钻石是金融中心五角星是政府 十字是医院 扁扁的旅游景区

  10. case a.ass_term_unit when '01' then (case a.ass_profit_mode when '0' then round(sum(a.ass_amount*a.ass_annual_rate/365*365*a.ass_term/100) ,2) when '1' then round(sum(a.ass_amount*a.ass_annual_rate/

    --01 年 02 月 03 日 select a.ass_due_date, case a.ass_term_unit when '01' then (case a.ass_profit_mode ...