【Android学习】Android编码规范
四种常见的命名法
比较Java和c#的命名规范的不同点
常量用大写
java方法首字母不大写,应该小写
函数行数限制
不要用拼音
参照物,Android源码
看源码工具,SourceInsight 和 Beyond Compare
import中同类的放在一起
Android 文档通过java.doc 实现
私有程序变量命名最前面加m
目录规范
系统目录规范,项目一级文档
- Deployment
- Requirement (需求相关的文档)
- Designn
- Planning
- Help
- Log
- Source
- Publish
- Test
源代码命名规范
- 目录即包(package)
- 目录下所有类都属于此命名空间:一主类一文件
- 目录层次递归
- 一般系统命名空间目录尽量不要超过3层
代码命名规范
命名方法
匈牙利命名法:strMyName,mMyName,int intMyName 用一个前缀来标志一些东西,常用于VB6
Pascal命名法:每个单词的首字母大写 MyName
Camel命名法:驼峰命名法 首字母小写,其他的首字母大写 java变量命名 myName
下划线命名法:s_MyName,m_Name
私有成员变量 Pascal命名+前缀m
静态成员变量 Pascal命名+前缀s,在方法中则不加s
局部变量 Camel命名法,或者用下划线开头加Pascal方法
方法参数 Camel命名法,前缀用p
循环中的变量 可以用无意义的字母
注释:文件,类,方法,方法参数,变量,属性都要注释
文件和类的注释一定要包含如下元素:Name,Descrition,Version,Date,Author,Change,Copyright
遵循JavaDoc标准
编码逻辑规范
避免将多个类放在一个文件里面,除非是一次性使用的内部类
一个方法的代码长度最好不要超过35行
原则上,尽量不要手动修改机器产生的代码
Final String 取代直接String 同理int
不推荐在循环语句中,进行直接的return操作
不要用goto
处处要考虑异常
仅对需要对外公布采用public,其余的用private or internal
尽量不要提供public and protected 程序员变量,使用属性代替他们
不要在系统自动生成的函数直接写业务代码,最好自定义函数,然后调用
总是使用接口,推荐使用显示接口实现
在switch语句中总是要有default字句来显示信息
【Android学习】Android编码规范的更多相关文章
- android学习——android架构
android架构:在了解全局的情况下进行细致化的分析才能更有效的学习android的运行原理,才能更深刻的理解android开发: 1.架构图直观 2.架构详解 2.1.Linux Kernel 2 ...
- android学习——Android Layout标签之-viewStub,requestFocus,merge,include
定义Android Layout(XML)时,有四个比较特别的标签是非常重要的,其中有三个是与资源复用有关,分别是<viewStub/>, <requestFocus />, ...
- Android开发之——编码规范
1. 前言 这份文档参考了 Google Java 编程风格规范和 Google 官方 Android 编码风格规范.该文档仅供参考,只要形成一个统一的风格,见量知其意就可. 2. 源文件基础 2.1 ...
- android学习——Android Studio下创建menu布局文件
一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...
- Android学习----Android架构
android分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心层.蓝色的代表java程序,黄色的代码为运行JAVA程序而实现的虚拟机,绿色部分为C/C++语言编写 ...
- 002.[python学习]python编码规范pep8学习——PEP8第一部分代码布局
关于PEP8的详细说明可以参考官方原文:http://legacy.python.org/dev/peps/pep-0008/ 我参考官方文档及其他文章,摘出相关内容而得此文章,具体参考其他文章见文中 ...
- openfire Android学习---android客户端聊天开发之登录 和 注销登录
一切就绪,新建一个android测试工程: 上网权限配置,界面绘制啥的,这里就不说了. 首先 导入一个smark包.这个是用来维护长连接的,也可以是asmark.我用的是asmark 先普及一些基本知 ...
- android学习——android 常见的错误 和 解决方法
1. Application does not specify an API level requirement! 解决方法:AndroidManifest.xml中 加入: <uses-sdk ...
- android学习——android项目的的目录结构
然后我们看一下Helloword的程序目录: 我们可以看到 大致有的文件: 1. MainHelloWorld.java文件 2. R.java文件 3. android.jar文件 4. RE ...
- Android学习----Android Studio 技巧汇总
关于快捷键 The File Structure Popup ctrl+f12此快捷键可以调出当前文件的大纲,并通过模糊匹配快速跳转至指定的方法.勾选上“show anonymous classes” ...
随机推荐
- redis事务和redis集群
一.事务(相对mysql来说简单) 1. 比较 ①:mysql ----->start trantation ---->普通sql ------->回滚rollback------& ...
- 【转】使用Jmeter针对ActiveMQ JMS Point To Point压力测试
准备工作 针对JMS类型的Sampler,需要额外的jar包(这里用的是apache ActiveMQ,将下载的AMQ apache-activemq-5.5.0根目录下的activemq-all-5 ...
- Linux面试题大全(带答案)
一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用 索引节点来标识. ...
- spring-session之一:简介、使用及实现原理
一.背景 http session(企业)一直都是我们做集群时需要解决的一个难题,我们知道HttpSession是通过Servlet容器创建和管理的,像Tomcat/Jetty都是保存在内存中的.而如 ...
- HEALTH_WARN too few PGs per OSD (21 < min 30)解决方法
标签(空格分隔): ceph,ceph运维,pg 集群环境: [root@node3 ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 ...
- php图像处理函数imagecopyresampled
语法 bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , i ...
- 解决JAVA_HOME nor the JRE_HOME environment variable is defined
从别的地方复制了一个tomcat, 启动后一闪即退, 使用记事本打开 startup.bat文件, 在文件底部修改, 并追加如下内容 call "%EXECUTABLE%" run ...
- JavaScript笔记——BOM的操作和浏览器的检测
BOM的操作 BOM 也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM 缺少规范,每个浏览器提供商又按照自己想法去扩展它,就可能存在浏览器不兼容的情况,那么浏览器共有对象就成了事实的 ...
- Unity3D的坑系列:打包Assetbundle丢失Shader问题(贴图显示不了)
从Unity4.2开始,为了减少首包大小,不会默认将所有Shader引擎加到游戏程序中,据Unity技术支持人员所说,Unity会将Shader引擎打包到Assetbundle资源中,但是我测试发现不 ...
- 使用Kismet进行网络扫描
执行命令启动Kismet root@sch01ar:~# kismet 这个界面是用来设置颜色的,单击Yes按钮,默认颜色灰色 这个界面显示正在使用root用户运行Kismet工具,单击OK 这个界面 ...