程序命名规则
提示:模块设计人员确定本软件的模块命名规则(例如类、函数、变量等),确保模块设计文档的风格与代码的风格保持一致。可以从机构的编程规范中摘取或引用(如果存在的话)。
命名规则
1、包命名
    Java程序以包名为文件目录名,通过包的分层结构实现对程序进行归类和模块化管理。包名要求全部用英文字母小写,通过.进行分割,建议在包名中体现公司名称或产品(项目)英文名简写,通常为“公司名+产品(项目)名+模块名+子模块名”,如:ausware.apply.manage(ausware为公司英文名,apply为产品名,manage为模块名),商业软件通常会以com.开头,如:com.sun.java.swing(com为通用前缀,sun为公司名称,java为产品名,swing为模块名),是否加com不做强制要求。

2、类命名
    Java中类名统一要求用英文单词或组合,可以用简写,单词首字母要大写,单词之间通过大写字母隔开。类名应该准确表达本类的作用,通常为“模块名+功能名”结构,如:EngineManage,DeviceAction。

3、类成员变量命名
    操作类成员变量要求以m_打头;如果变量为全局变量,以g_打头;数据结构类成员不建议用m_开头。
    变量需要明确表达含义,采用英文单词或组合,可以用简写,用大写字母隔开,除了范围字母,首字母小写。通常为“范围+类型+变量描述”,其中常见的类型主要有:map(表示映射集HashMap、Map)、vec(表示向量集Vector)、list(表示List)、b(表示boolean)、i(表示int)、str(表示String,由于String类型在java中非常常用,通常可以不用str开头,以免累赘)、l(表示long)、c(表示char)、f(表示float)、d(表示double)。举例:
操作类:
public class EngineManage
{
  private static EngineManage  g_instance=null;  //全局
  private HashMap<Long,EngineContext> m_mapEngineContexts=new HashMap(); //成员
  private boolean m_bInitFlag = false;  //成员,是否初始化标志
  public int m_iPort = 0;
  public long m_lSize = 0;
}
数据结构类:
public class DeviceModel
{
  public String devNameAlias = null; //设备别名
  public String devName = null; //设备名称    
  public float fSize = 0;
  public double dWideSize = 0;
}

4、类成员函数命名
    类成员函数名需要表达出函数功能,采用英文单词或组合,可以用简写,首字母小写,中间单词的首字母要大写,其余小写。第一个单词为动作,后续单词为作用对象,通常为:“动作+对象名”,举例:createEngineContext,addDevice。

5、函数参数名
    采用英文单词或组合,可以用简写,首字母小写,中间单词采用大写字母隔开。不要用m_和g_开头。
    对于接口函数的参数名,建议尽量明确表达出参数是输入、输出、输入及输出,以及类型。输入通常用in,输出通常用o,输入输出通常用io,举例:   
   public long createEngineContext(String engineContextClassName,RefString oErrMsg);
  接口函数:   
   public int retriveDatas (String inStrID ,Vector oVecDatas, RefString oErrMsg);
   // inStrID 中的in为输入,Str为类型,ID为变量描述;
   // oVecDatas 中的o为输出,Vec为类型,Datas为变量描述;
   //oErrMsg中的o为输出,ErrMsg为变量描述。

6、函数内部变量名
    原则上除了计数变量i,n,k,j等,都应该采用英文单词或组合表达明确含义,可以用简写,不要用m_和g_等开头。普通变量通常为“类型+变量描述”;对复合自定义对象的命名可以直接用对象名,把首字母改为小写;需要返回的变量建议加上ret前缀;临时变量建议加上tmp前缀。举例:
  for(int i; i<10; i++); //计数变量
  boolean bSearchFlag;  //以类型为前缀
  int iSize;  
  long lWidth;
  String strDevName; //带String类型前缀str  
  String devName;   //不带String类型前缀,因String非常常用可以省略
  EngineContext engineContext = null; //复合自定义对象,用类型名,把首字母改为小写
  EngineContext tmpEngineContext = null; //带临时变量tmp前缀
  EngineContext retEngineContext = null;  //带返回变量前缀ret

7、常量名
    常量名采用大写单词或以下划线_组合多个单词,明确表达含义,如:
    public final static String YES = "yes";
    public final static int DEBUG_ERROR = 2;  //记录出错信息
    public final static String SYSLOG_PROCESS_NAME = "SYSLOG";

java 程序命名规则的更多相关文章

  1. java常见命名规则

    常见命名规则: 包:类似文件夹,用于把相同的类名进行区分(小写) 单级:例如:student 多级:例如:cn.student 类或者接口: 一个单词:单词首字母大写,例如:Student 多个单词: ...

  2. 简单的Windows应用程序命名规则

    读书:<高质量C++编程指南> 作者对“匈牙利”命名规则做了合理的简化,下述的命名规则简单易用,比较适合于Windows应用软件的开发. l [规则3-2-1]类名和函数名用大写字母开头的 ...

  3. java 程序编写规则(自己总结)

    1.命名规范 (1)所有的标示符都只能用ASCⅡ字母(A-Z或a-z).数字(0-9)和下划线"_". (2)类名是一个名词,采用大小写混合的方式,每个单词的首字母大写.例如:Us ...

  4. java 标识符命名规则

    标识符:就是给类,接口,方法,变量等起名字. 组成规则: A:英文字母大小写 B:数字字符 C:$和_ 注意事项: A:不能以数字开头 B:不能是Java中的关键字 C:Java语言严格区分大小写 包 ...

  5. Java 最佳命名规则记录

    类名:使用双驼峰规则.如 TestService 包名:命名全小写,且使用小写 如使用 web.csvdata.util 而不是 web.csvData.util 或 web.csvdata.util ...

  6. java变量命名规则

    1.      变量必须以字母,下划线”_”或”$”符号开 2.      变量可以包括数字,但不能以数字开 3.      除了下划线”_”和”$”符号以外,变量名不能包含任何特殊字符 4.     ...

  7. 微信小程序命名规则

    目录分析 src是主要的开发目录,各个文件实现功能如下所示: ├─.idea │ └─libraries ├─.temp ├─config └─src ├─assets │ └─images ├─co ...

  8. mybatis开启字段自动映射为java驼峰命名规则

    <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> & ...

  9. java包命名规则

    package indi/onem.发起者名.项目名.模块名... package pers.个人名.项目名.模块名... package priv.个人名.项目名.模块名... package te ...

随机推荐

  1. [转]James Bach:测试人员的角色

    [转]James Bach:测试人员的角色 2015-05-13 以前,我是个开发人员.我不喜欢这个工作,无尽的压力让我疲惫.我几乎从未感觉到自己的工作做得足够好.我从未有过真正的休息.如果我没做好, ...

  2. VS调试-添加命令行参数

    Project -> Properties -> Configuration Properties -> Debugging 在Command Arguments里填上即可

  3. 插入节点appendChild()

    http://www.imooc.com/code/1698 插入节点appendChild() 在指定节点的最后一个子节点列表之后添加一个新的子节点. 语法: appendChild(newnode ...

  4. IIS 与 Apache共存

    http://support.microsoft.com/kb/813368 http://www.blueidea.com/computer/system/2006/3585.asp 操作其实也很简 ...

  5. 《剑指offer》解题笔记

    <剑指offer>解题笔记 <剑指offer>共50题,这两周使用C++花时间做了一遍,谨在此把一些非常巧妙的方法.写代码遇到的难点.易犯错的细节等做一个简单的标注,但不会太过 ...

  6. C语言 · 求存款

    算法提高 3-2求存款   时间限制:1.0s   内存限制:256.0MB      问题描述 见计算机程序设计基础(乔林)P50第5题. 接受两个数,一个是用户一年期定期存款金额,一个是按照百分比 ...

  7. PHP——内测:新闻管理练习题及答案(自己做的)

    试题看文件:1.28练习内测:新闻管理.pdf 数据库为newssystem 表为news 表内容为 fabuxinwen.php <!DOCTYPE html PUBLIC "-// ...

  8. Easy UI分页控件修改刷新方法后触发两次请求

    今天我在做分页的时候,有这样的一个现象: 我重写了分页的刷新和改变页面大小的方法,发现给服务器提交了两次post,问题出现在哪里的?经过alert调试,发现原因是: 刷新和改变页面大小的事件执行的时候 ...

  9. 关于Unity的C#基础学习(四)

    一.数组 存放同种类型的一组数据,同类+多个 1.定义 int [] int_set; int_set=new int[10];  //在堆上分配出10个int,int_set是数组的引用变量,指向1 ...

  10. dlib python 人脸检测与关键点标记

    http://blog.csdn.net/sunmc1204953974/article/details/49976045 人脸检测 #coding=utf-8 # -*- coding: utf-8 ...