zoukankan      html  css  js  c++  java
  • java 程序命名规则

    程序命名规则
    提示:模块设计人员确定本软件的模块命名规则(例如类、函数、变量等),确保模块设计文档的风格与代码的风格保持一致。可以从机构的编程规范中摘取或引用(如果存在的话)。
    命名规则
    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";

  • 相关阅读:
    HDU 1850 Being a Good Boy in Spring Festival
    UESTC 1080 空心矩阵
    HDU 2491 Priest John's Busiest Day
    UVALive 6181
    ZOJ 2674 Strange Limit
    UVA 12532 Interval Product
    UESTC 1237 质因子分解
    UESTC 1014 Shot
    xe5 android listbox的 TMetropolisUIListBoxItem
    xe5 android tts(Text To Speech)
  • 原文地址:https://www.cnblogs.com/anyun/p/8288367.html
Copyright © 2011-2022 走看看