四种常见的命名法

比较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编码规范的更多相关文章

  1. android学习——android架构

    android架构:在了解全局的情况下进行细致化的分析才能更有效的学习android的运行原理,才能更深刻的理解android开发: 1.架构图直观 2.架构详解 2.1.Linux Kernel 2 ...

  2. android学习——Android Layout标签之-viewStub,requestFocus,merge,include

    定义Android Layout(XML)时,有四个比较特别的标签是非常重要的,其中有三个是与资源复用有关,分别是<viewStub/>, <requestFocus />, ...

  3. Android开发之——编码规范

    1. 前言 这份文档参考了 Google Java 编程风格规范和 Google 官方 Android 编码风格规范.该文档仅供参考,只要形成一个统一的风格,见量知其意就可. 2. 源文件基础 2.1 ...

  4. android学习——Android Studio下创建menu布局文件

    一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...

  5. Android学习----Android架构

    android分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心层.蓝色的代表java程序,黄色的代码为运行JAVA程序而实现的虚拟机,绿色部分为C/C++语言编写 ...

  6. 002.[python学习]python编码规范pep8学习——PEP8第一部分代码布局

    关于PEP8的详细说明可以参考官方原文:http://legacy.python.org/dev/peps/pep-0008/ 我参考官方文档及其他文章,摘出相关内容而得此文章,具体参考其他文章见文中 ...

  7. openfire Android学习---android客户端聊天开发之登录 和 注销登录

    一切就绪,新建一个android测试工程: 上网权限配置,界面绘制啥的,这里就不说了. 首先 导入一个smark包.这个是用来维护长连接的,也可以是asmark.我用的是asmark 先普及一些基本知 ...

  8. android学习——android 常见的错误 和 解决方法

    1. Application does not specify an API level requirement! 解决方法:AndroidManifest.xml中 加入: <uses-sdk ...

  9. android学习——android项目的的目录结构

       然后我们看一下Helloword的程序目录: 我们可以看到 大致有的文件: 1. MainHelloWorld.java文件 2. R.java文件 3. android.jar文件 4. RE ...

  10. Android学习----Android Studio 技巧汇总

    关于快捷键 The File Structure Popup ctrl+f12此快捷键可以调出当前文件的大纲,并通过模糊匹配快速跳转至指定的方法.勾选上“show anonymous classes” ...

随机推荐

  1. redis事务和redis集群

    一.事务(相对mysql来说简单) 1. 比较 ①:mysql ----->start trantation ---->普通sql ------->回滚rollback------& ...

  2. 【转】使用Jmeter针对ActiveMQ JMS Point To Point压力测试

    准备工作 针对JMS类型的Sampler,需要额外的jar包(这里用的是apache ActiveMQ,将下载的AMQ apache-activemq-5.5.0根目录下的activemq-all-5 ...

  3. Linux面试题大全(带答案)

    一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用 索引节点来标识. ...

  4. spring-session之一:简介、使用及实现原理

    一.背景 http session(企业)一直都是我们做集群时需要解决的一个难题,我们知道HttpSession是通过Servlet容器创建和管理的,像Tomcat/Jetty都是保存在内存中的.而如 ...

  5. 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 ...

  6. php图像处理函数imagecopyresampled

    语法 bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , i ...

  7. 解决JAVA_HOME nor the JRE_HOME environment variable is defined

    从别的地方复制了一个tomcat, 启动后一闪即退, 使用记事本打开 startup.bat文件, 在文件底部修改, 并追加如下内容 call "%EXECUTABLE%" run ...

  8. JavaScript笔记——BOM的操作和浏览器的检测

    BOM的操作 BOM 也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM 缺少规范,每个浏览器提供商又按照自己想法去扩展它,就可能存在浏览器不兼容的情况,那么浏览器共有对象就成了事实的 ...

  9. Unity3D的坑系列:打包Assetbundle丢失Shader问题(贴图显示不了)

    从Unity4.2开始,为了减少首包大小,不会默认将所有Shader引擎加到游戏程序中,据Unity技术支持人员所说,Unity会将Shader引擎打包到Assetbundle资源中,但是我测试发现不 ...

  10. 使用Kismet进行网络扫描

    执行命令启动Kismet root@sch01ar:~# kismet 这个界面是用来设置颜色的,单击Yes按钮,默认颜色灰色 这个界面显示正在使用root用户运行Kismet工具,单击OK 这个界面 ...