《2022年Android开发规范[借 .pdf》由会员分享,可在线阅读,更多相关《2022年Android开发规范[借 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Android开发规范这是我初步整理的一份命名规则,大家以后在项目中就按照这个规范统一来命名,如果有什么问题,大家可以给我说,我会立即修改上传,大家也可以添加补充上传。1.Android变量名命名规范:Control Name Shutcut Name TextView text Button button LinkButton lnkbtn ImageButton imgbtn ListBox listbox CheckBox checkbox RadioButton radiobtn ImageView imgview AnalogClock aclock DigitalClock dcl
2、ock DatePicker datepk TimePicker timepk ToggleButton togglebtn EditText edtext ProgressBar progressbar SeekBar seekbar AutoCompleteTextView autotxt 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - VideoView videoview WebView webview RatingBa
3、r ratingbar Tab tab Spinner spinner ScrollView scroll TextSwitcher textsw ListView listview Gallery gallery ImageSwitcher imgswitcherGridView grid ExpandableList exlist 2.Java命名规范:包的命名(全部小写,由域名定义)Java 包的名字都是由小写单词组成。但是由于Java 面向对象编程的特性,每一名Java程序员都可以编写属于自己的Java 包,为了保障每个Java 包命名的唯一性,在最新的Java 编程规范中, 要求程序
4、员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。例如: net.frontfree.javagroup类的命名(单词首字母大写)根据约定, Java 类名通常以大写字母开头,如果类名称由多个单词组成,则每个单词的首字母均应为大写例如 TestPage;如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。例如:Graphics方法的命名(首字母小写,后字母开头大写)方法的名字的第一个单词应以小写
5、字母作为开头,后面的单词则用大写字母开头。例如: drawImage名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - 常量的命名(全部大写,常加下划线)常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。 static final 变量 (常量 )的名字应该都大写,并且指出完整含义。例如: MAX_VALUE参数的命名 (首字母小写,后字母开头大写)参数的命名规范和方
6、法的命名规范相同,而且为了避免阅读程序时造成迷惑,请在尽量保证参数名称为一个单词的情况下使参数的命名尽可能明确。在变量命名时要注意以下几点:选择有意义的名字,注意每个单词首字母要大写。在一段函数中不使用同一个变量表示前后意义不同的两个数值。 i、 j、k 等只作为小型循环的循环索引变量。避免用 Flag 来命名状态变量。用 Is 来命名逻辑变量,如:blnFileIsFound。通过这种给布尔变量肯定形式的命名方式,使得其它开发人员能够更为清楚的理解布尔变量所代表的意义。如果需要的话,在变量最后附加计算限定词,如:curSalesSum。命名不相包含,curSales和 curSalesSum
7、。Javadoc注释Java 除了可以采用我们常见的注释方式之外,Java 语言规范还定义了一种特殊的注释,也就是我们所说的 Javadoc注释,它是用来记录我们代码中的API 的。 Javadoc注释是一种多行注释,以 /*开头,而以 */ 结束,注释可以包含一些HTML 标记符和专门的关键词。使用 Javadoc 注释的好处是编写的注释可以被自动转为在线文档,省去了单独编写程序文档的麻烦。例如:/* * This is an example of * Javadoc * author darchon * version 0.1, 10/11/2002 */在每个程序的最开始部分,一般都用J
8、avadoc注释对程序的总体描述以及版权信息,之后在主程序中可以为每个类、接口、方法、字段添加Javadoc注释,每个注释的开头部分先用一句话概括该类、接口、方法、字段所完成的功能,这句话应单独占据一行以突出其概括作用,在这句话后面可以跟随更加详细的描述段落。在描述性段落之后还可以跟随一些以 Javadoc注释标签开头的特殊段落,例如上面例子中的auther和version,这些段落将在生成文档中以特定方式显示。3.java编程规范(1 ).异常名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
9、 - 第 3 页,共 7 页 - - - - - - - - - a. 不要忽视异常处理如果像下面的代码这样,对catch后的异常作空处理,就像埋下地雷一样让人感觉到毛骨悚然:void setServerPort(String value) try serverPort = Integer.parseInt(value); catch (NumberFormatException e) 正确的做法:在方法声明时抛出异常,让客户程序员去消化这个异常void setServerPort(String value) throws NumberFormatException serverPort =
10、Integer.parseInt(value); 或者/* Set port. If value is not a valid number, die. */ void setServerPort(String value) try serverPort = Integer.parseInt(value); catch (NumberFormatException e) throw new RuntimeException(port + value is invalid, , e); b. 不要偷懒而捕捉一般异常下面代码一概捕捉Exception异常,大小通吃是不对的,这样会让你在错误出现时难
11、以定位到错误原因,一般异常无法用统一方法进行异常处理。try someComplicatedIOFunction(); / may throw IOException someComplicatedParsingFunction(); / may throw ParsingException someComplicatedSecurityFunction(); / may throw SecurityException / phew, made it all the way catch (Exception e) / Ill just catch all exceptions handleEr
12、ror(); / with one generic handler! 2. 注释 /JavaDoc 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - 1. 顶部版权声明2. 包和引入块(每一块以空白行分隔)3. 类或接口的声明。在 Javadoc注释,描述的类或接口的用途。/* * Copyright (C) 2007 The Android Open Source Project * * Licensed under the A
13、pache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http:/www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License
14、 is distributed on an AS IS BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.internal.foo; import android.os.Blah; import android.view.Yada;
15、import java.sql.ResultSet; import java.sql.SQLException; /* * Does X and Y and provides an abstraction for Z. */ public class Foo . 类/ 接口注释的内容(1 项 要求写上)类、接口的文档注释包含如下信息:1. 用途。开发人员使用某个类/接口之前,需要知道采用该类/ 接口的用途。2. 如何使用。开发人员需要知道该类/接口应该如何使用,如果必要的话还需要注明不应该如何使用。3. 开发维护的日志。一个有关于该类/接口的维护记录:时间、作者、摘要。方法注释的内容(1 ,5
16、,6,7 项 要求写上)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - 1. 类该方法是做什么的。2. 该方法如何工作。3. 代码修改历史纪录。4. 方法调用代码示范。5. 必须传入什么样的参数给这个方法。param 6. 异常处理。 throws 7. 这个方法返回什么。return 3. 域命名* 非公有,非静态字段命名以m 开头。* 静态域命名以s 开头。* 其他字段以小写字母开头。* public static fina
17、l 字段 ( 常量 ) 全部大写,并用下划线连起来。public class MyClass public static final int SOME_CONSTANT = 42; public int publicField; private static MyClass sSingleton; int mPackagePrivate; private int mPrivate; protected int mProtected; 4. 在定义类时,应该按照访问权限的大小分别排列属性和方法1. public 2. protected 3. 包级别 ( 没有访问修饰符的,默认为friendly
18、) 4. private 注:1)Eclipse 代码格式化你可以导入development/ide/eclipse下的文件,使得Eclipse按照 Android代码风格规则。选择“Window ? Preferences ? Java ? Code Style, 使用“Formatter ? Import” ,导入 android-formatting.xml, ”Organize Imports ? Import” 导入android.importorder. (2)eclipse tab 设置为 4 个空格:Preferences - General - Editors - Text Editors: Insert spaces for tabs (3) 自动格式化代码Ctrl+Shift+ F 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - (4) 全局查找并替换Ctrl+F 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -