【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” ...
随机推荐
- BufferedInputStream与BufferedOutputStream
BufferedInputStream是带缓冲区的输入流,默认缓冲区大小是8M,能够减少访问磁盘的次数,提高文件读取性能:BufferedOutputStream是带缓冲区的输出流,能够提高文件的写入 ...
- 使用内部变量,删除,替换,UNSET,等字符操作
使用内部变量,删除,替换,UNSET,等字符操作 FREDDY=freddy 删除字符串前几2个字符: [root@localhost tmp]# echo ${FREDDY:2} eddy ...
- saas服务提供商
这段时间接触了不少行业的东西,这里谈几点肤浅的看法.从市场行情上讲,SaaS风口还在,不过热度明显向大数据.物联网.人工智能.区块链等转移. 做得比较好的有这些SaaS提供商,每个领域的都有那么几家的 ...
- 蓝桥杯 算法训练 ALGO-93 反置数
算法训练 反置数 时间限制:1.0s 内存限制:512.0MB 问题描述 一个整数的“反置数”指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数.如果一个整数的末尾是以0结尾,那么在它 ...
- python开发函数进阶:装饰器
一,装饰器本质 闭包函数 功能:就是在不改变原函数调用方式的情况下,在这个函数前后加上扩展功能 作用:解耦,尽量的让代码分离,小功能之前的分离. 解耦目的,提高代码的重用性 二,设计模式 开放封闭原则 ...
- mongoDB的了解
一.什么是mongoDB? 1.MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能. 2.MongoDB 旨在为WEB ...
- Aptana Studio 3 如何汉化,实现简体中文版
这篇文章写了又一年多的时间了,哈哈,今天更新一次 此处修正的下面教程的[第五步]Babel Language Pack Update Site for Helioshttp://download.ec ...
- Closest Common Ancestors
Write a program that takes as input a rooted tree and a list of pairs of vertices. For each pair (u, ...
- 继承ServletContextListener可以完成的事情
1.定时任务: 定时任务是从某个固定的时间开始执行特定的程序,继承这个方法,可以实现刚启动项目的时候执行某特定的程序,完成给客户部署的时即可以看到某个页面的效果. 2.初始化系统常量等: 这样来完成系 ...
- AngularJS学习(一)
参考文章:http://blog.csdn.net/dc_726/article/details/17010325 1.HelloWorld篇 1.1 环境 下载:angular-1.2.5min.j ...