四种常见的命名法

比较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. spark-shell与scala生成parquet文件

    spark-shell用户 spark-shell只能spark用户来进行初始化,如果用hdfs或者root将会卡在spark-shell的初始化那个地方.可以用这两个用户来验证spark安装时成功地 ...

  2. Android的移动存储解决方案之SharedPreferences

    搞Android有一段时间了,但是并没写过有关Android的博客,今天给大家介绍一下SharedPreferences.    使用SharedPreferences保存key-value对的步骤如 ...

  3. jave获取音频时长

    本文转载自:http://blog.csdn.net/ntotl/article/details/50419983 下载 jave-1.0.2.jar File source =new File('d ...

  4. AngularJS:Service

    ylbtech-AngularJS:Service 1.返回顶部 1. AngularJS 服务(Service) AngularJS 中你可以创建自己的服务,或使用内建服务. 什么是服务? 在 An ...

  5. Oracle 错误: sp2 0734 unknown command beginning -- 解决方法

    今天在做一个Oracle的倒库操作,使用SQLPLUS倒库的时候发生SP2 0734的错误 !! 注:我是用的是Ocale11g自带的SQLPLUS 由于之前在工具(SQL Developer)里面运 ...

  6. js中的Math

    js中的Math Math.round 取最接近的整数 Math.round(-2.7) // -3 Math.ceil 向上取整 Math.ceil(1.1) // 2 Math.floor 向下取 ...

  7. Mybites和hibernate的优缺点和区别

    Hibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分. Mybatis 是另外一种优秀的O/R mapping框架.目前属于apache的 ...

  8. cs231n线性分类器作业 svm代码 softmax

    CS231n之线性分类器 斯坦福CS231n项目实战(二):线性支持向量机SVM CS231n 2016 通关 第三章-SVM与Softmax cs231n:assignment1——Q3: Impl ...

  9. js控制使div自动适应居中

    一直都在想怎么样使弹出的DIV能在任何时候都是居中显示的,刚开始的时候是用CSS样式直接定义好层的位置,但是当页面很长的时候,或是浏览器窗口大小不是固定的时候就不能正确的显示,所以只好用JS来控制DI ...

  10. peerconnection_client分析笔记

     Windows版本的peerconnection_client demo是一个win32程序,入口函数为main.cc里面的wWinMain,程序整体流程就从这个入口函数下手开始分析. 1.peer ...