第四章 android 命名规范和编码规范
书里面讲的比较常见,单个人也是有不同的观点;
因为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 命名规范和编码规范的更多相关文章
- [旧][Android] 命名规范和编码规范
备注 原发表于2016.05.07,资料已过时,仅作备份,谨慎参考 前言 本文适用范围:已参加项目开发的人 写这篇文章的目的是为方便地对代码进行管理,让整个团队的代码规范化.这里的部分规定可能和你在其 ...
- 第四章Android移植环境搭建
第四章Android移植环境搭建 这一章主要学习如何搭建 Android 移植的环境.因为 Android 底层是基于 Linux 内核的,所以本章从交叉编译环境等嵌入式开发环境的搭建开始,介绍了 B ...
- 《从零开始学Swift》学习笔记(Day 56)——命名规范Swift编码规范之命名规范
原创文章,欢迎转载.转载请注明:关东升的博客 程序代码中到处都是自己定义的名字,取一个有样并且符合规范的名字非常重要. 命名方法很多,但是比较有名的,广泛接受命名法有: 匈牙利命名,一般只是命名变量, ...
- Android 命名规范和编码规范
简明概要 多写注释 一.关于命名规范 对于开发项目来说肯定是要有统一的规范,然而命名规范需要做到哪几点呢? 答: 首先,不能反人类. 再来就是,要望文而知其意. 下面就来说说具体该怎么去规范我们的代 ...
- web项目开发 之 前端规范 --- HTML编码规范
此文严格按照W3C规范和部分实际项目可读性,浏览器加载,性能等众多属性权衡,做出平时前端编码规范文 档.供广大web工作者参考并实施,对维护和项目扩展升级都能省时省力. 转载请注明出处,JS前端实用开 ...
- C#命名规则和编码规范
用Pascal规则来命名属性.方法.事件和类名. public class HelloWorld { public void SayHello(string name) { } } Pascal规则是 ...
- 【ALearning】第四章 Android Layout组件布局(一)
在本章中,我们将Android学习组件布局.在前面的章节,我们也开始使用LinearLayout布局.然后我们在布局文件更加具体的学习和理解,会. Android的界面是有布局和组件协同完毕的,布局好 ...
- 【ALearning】第四章 Android Layout组件布局(二)
前面我们分别介绍和学习了LinearLayout(线性布局).FrameLayout(单帧布局)和AbsoluteLayout(绝对布局).这次我们要进行RelativeLayout(相对布局)和Ta ...
- 建立标准编码规则(四)-C#编码规范分类及实现
1 现实中的问题 在任何一个公司,每个程序员编写的习惯可能都是不一样的,大到命名空间,小到变量的名字.甚至,我们去github,里面的大牛每个开源的项目的命名规则可能都不一样. 我们通常会遇到下面的问 ...
随机推荐
- OC之方法的声明实现和调用
1. 类是来描述一群具有相同特征和行为的事物的. 类还有行为. 类的声明 @interface 类名 : NSObject { 属性. } 方法的声明 @end 类的实现. @implementati ...
- 项目在JDK1.8环境下的一个Bug
今天发现一个已有的项目在JDK1.8环境下运行时,会报错: The type java.util.Map$Entry cannot be resolved. It is indirectly refr ...
- webpack入门必知必会
关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 这是我第一篇介绍webpack的文章,先从一个入门教程开始吧,后续会有更多相关webpack的文章推 ...
- apache2部署django以及静态文件
django中的runserver只是一个很简单的web服务器,在开发中是不建议使用的,django在官方中建议是使用apache2等web服务器来配置,并且django会把静态文件交由apache2 ...
- Linux下产生随机密码10方法
有特殊符号的: cat /dev/urandom | tr -dc "a-zA-Z0-9_+\~\!\@\#\$\%\^\&\*"| fold -w 16 |head -n ...
- Android studio使用smack连接xmpp服务器收发消息
我使用的是ejabberd16.09的Linux版本,安装教程网上有很多,我在这里只介绍一下Android端连接.登录和收发消息的方法.文章最后附上了我写的一个demo,欢迎大家参考. ejabber ...
- Redux超酷的开发工具Redux-Devtools
超酷的开发工具 Redux-devtools redux-devtools是一个有趣而又高效的redux开发工具,如果你想直接在github上查看相关的内容,请前往这里.事实上,也鼓励大家养成在git ...
- Android进程回收的一些知识
关于OOM_ADJ说明: Android 进程易被杀死的情形: 参考:Android进程保活招式大全
- Ch2 空间配置器(allocator) ---笔记
2.1 空间配置器的标准接口 allocator的必要接口: allocator::value_type allocator::pointer allocator::const_pointer all ...
- 解决 maven项目问题 An error occurred while filtering resources
解决方法: Maven -> Update Project.