Java/Android开发规范——变量和常量命名

变量的命名git

主要的的命名规范有如下三种:数组

  • Camel 标记法:首字母是小写的,接下来的单词都以大写字母开头。
    • Pascal 标记法:首字母是大写的,接下来的单词都以大写字母开头。
      • 匈牙利标记法:在以Pascal标记法的变量前附加小写序列说明该变量的类型。

 

  在Java咱们通常使用匈牙利标记法,基本结构为scope_typeVariableName,它使用1-3字符前缀来表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,并且每一个单词的首写字母大写,其它字母小写,这样保证了对变量名可以进行正确的断句。ide

  例如,定义一个整形变量,用来记录文档数量:post

  intDocCount,其中int代表数据类型,后面为表意的英文名,每一个单词首字母大写。这样,在一个变量名就能够反映出变量类型和变量所存储的值的意义两方面内容,这使得代码语句可读性强、更加容易理解。 byte、short、char、int、long、float、 double、boolean。spa

数据类型/前缀(附)code

  对于在多个方法内都要使用的全局变量,在前面再增长“g_”。例如一个全局的字符串变量:g_strUserInfo。
xml

在变量命名时要注意如下几点:blog

  • 选择有意义的名字,注意每一个单词首字母要大写。
  • 在一段方法中不使用同一个变量表示先后意义不一样的两个数值。
  • i、j、k等只做为小型循环的循环索引变量。
  • 集合、数组 应该从命名中体现其复数的含义,例如加后缀s或前缀some,名字要有意义。
  • 临时变量一般被取名为ijkn,它们通常用于整型;cde,它们通常用于字符型。
  • 避免用Flag来命名状态变量
  • 用Is来命名逻辑变量,如:blnFileIsFound。经过这种给布尔变量确定形式的命名方式,使得其它开发人员可以更为清楚的理解布尔变量所表明的意义。
  • 若是须要的话,在变量最后附加计算限定词,如:curSalesSum。
  • 命名不相包含,curSales和curSalesSum。
  • static final 变量(常量)的名字应该都大写,而且指出完整含义
  • 若是须要对变量名进行缩写时,必定要注意整个代码中缩写规则的一致性。例如,若是在代码的某些区域中使用intCnt,而在另外一些区域中又使用intCount,就会给代码增长没必要要的复杂性。建议变量名中尽可能不要出现缩写
  • 经过在结尾处放置一个量词,就可建立更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用 strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。经常使用的量词后缀有:First(一组变量中的第一个)、Last(一组变量中的最后一个)、Next(一组变量中的下一个变量)、Prev(一组变量中的上 一个)、Cur(一组变量中的当前变量)。
  • 为每一个变量选择最佳的数据类型,这样即能减小对内存的需求量,加快代码的执行速度,又会下降出错的可能性。用于变量的数据类型可能会影响该变量进行计算所产生的结果。在这种状况下,编译器不会产生运行期错误,它只是迫使该值符合数据类型的要求。这类问题极难查找。
  • 尽可能缩小变量的做用域。若是变量的做用域大于它应有的范围,变量可继续存在,而且在再也不须要该变量后的很长时间内仍然占用资源。它们的主要问题是,任何类 中的任何方法都能对它们进行修改,而且很难跟踪到底是何处进行修改的。占用资源是做用域涉及的一个重要问题。对变量来讲,尽可能缩小做用域将会对应用程序的 可靠性产生巨大的影响。

  关于常量的命名方法,在JAVA代码中,不管何时,均提倡应用常量取代数字、固定字符串。也就是 说,程序中除0,1之外,尽可能不该该出现其余数字。常量能够集中在程序开始部分定义或者更宽的做用域内,名字应该都使用大写字母,而且指出该常量完整含义。若是一个常量名称由多个单词组成,则应该用下划线“_”来分割这些单词如:NUM_DAYS_IN_WEEK、MAX_VALUE索引

 

 (Field)命名内存

  1. 非公有、非静态字段命名以m开头。
  2. 静态域命名以s开头。
  3. 公有字段以小写字母开头。
  4. public static final 字段(常量) 所有大写,并用下划线连起来。

例子:

 1 public class MyClass  {  
 2 
 3     public static final int SOME_CONSTANT = 42;  
 4 
 5     public int publicField;  
 6 
 7     private static MyClass sSingleton;  
 8 
 9     int mPackagePrivate;  
10 
11     private int mPrivate;  
12 
13     protected int mProtected;  
14 
15   }

 

文件命名规范

res/layout目录下文件:

  统一用小写和下划线"_"组合命名,建议xml文件加个前缀以便区分,如对话框的xml配置文件:dlg_name.xml

res/drawable目录下文件:

  统一用小写加下划线“_”组合命名,同上,每一个资源文件最好加个前缀以便区分,如:btn_submit_default.png,btn_ submit_pressed.png,btn_ submit.xml;

 

Control Name Shutcut
TextView txt
Button btn
LinkButton lnkbtn
ImageButton imgbtn
ListBox lst
CheckBox chk
RadioButton rdobtn
ImageView imgView
AnalogClock  
DigitalClock dc
DatePicker dp
TimePicker tp
ToggleButton tgBtn
EditText edt
ProgressBar proBar
SeekBar sekBar
AutoCompleteTextView  
MultiAutoCompleteTextView  
ZoomControls zc
Include  
VideoView vdoView
WebView  
RatingBar ratBar
Tab tab
Spinner spn
Chronometer  
ScrollView  
TextSwitcher txtSw
ListView lstView
Gallery  
ImageSwitcher  
GridView gv
ExpandableList  
 

评分

相关文章
相关标签/搜索