El propósito de los estándares de escritura de código es lograr la estandarización en el proceso de codificación y desarrollar buenos hábitos de comportamiento para el desarrollo futuro de programas.
Ámbito de uso de las especificaciones de escritura de código: desarrollo de proyectos J2EE.
Convención de nomenclatura de paquetes:
Propósito: La convención de nomenclatura de los paquetes debe reflejar una buena división de los recursos del proyecto.
Convención de nomenclatura para el paquete donde se encuentra la clase de servlet: nombre de la empresa.nombre del grupo de desarrollo.nombre del proyecto.web.servlet
Por ejemplo: net.linkcn.web.servlet
Convención de nomenclatura para el paquete donde se encuentra la clase de etiqueta personalizada: nombre de la empresa.nombre del grupo de desarrollo.nombre del proyecto.web.tags
Por ejemplo: net.linkcn.web.tags
Convención de nomenclatura para el paquete donde se encuentra la clase de filtro: nombre de la empresa.nombre del grupo de desarrollo.nombre del proyecto.web.filtro
Por ejemplo: net.linkcn.web.filter
Convención de nomenclatura para el paquete donde se encuentra la clase Acción: nombre de la empresa.nombre del grupo de desarrollo.nombre del proyecto.web.struts.action
Por ejemplo: net.linkcn.web.struts.action
Convención de nomenclatura para el paquete donde se encuentra la clase ActionForm: nombre de la empresa.nombre del grupo de desarrollo.nombre del proyecto.web.struts.form
Por ejemplo: net.linkcn.web.struts.form
Convención de nomenclatura de paquetes Javabean: nombre de la empresa nombre del proyecto.
Por ejemplo: net.linkcn.web.service.impl
Convención de nomenclatura de la interfaz de implementación de Javabean: nombre de la empresa.Nombre del grupo de desarrollo.Nombre del proyecto.web.servicio
Por ejemplo: net.linkcn.web.service
Convención de nomenclatura para el paquete donde se encuentra la clase DAO: nombre de la empresa.nombre del grupo de desarrollo.nombre del proyecto.dao.impl
Por ejemplo: net.linkcn.dao.impl
La interfaz implementada por la clase DAO tiene una convención de nomenclatura en el paquete: nombre de la empresa.nombre del grupo de desarrollo.nombre del proyecto.dao
Por ejemplo: net.linkcn.dao
Convención de nomenclatura para el paquete donde se encuentran la clase POJO y los archivos hbm: nombre de la empresa nombre del proyecto.dao.hbm.
Por ejemplo: net.linkcn.dao.hbm
Convención de nomenclatura para el paquete donde se encuentran las clases públicas globales y las clases de interfaz: nombre de la empresa. Nombre del grupo de desarrollo. Nombre del proyecto. global
Por ejemplo: net.linkcn.global
Convención de nomenclatura para el paquete donde se encuentra la clase de herramienta global: nombre de la empresa.nombre del grupo de desarrollo.nombre del proyecto.util
Por ejemplo: net.linkcn.util
Convención de nomenclatura de clases Convención de nomenclatura básica:
Convención de nomenclatura de clases e interfaces: comience con una letra mayúscula. Si hay varias palabras, escriba en mayúscula la primera letra de cada palabra.
Convención de nomenclatura de interfaz: comience con una letra mayúscula "I", si hay varias palabras, escriba en mayúscula la primera letra de cada palabra. Por ejemplo: IStudentInfo.
Denominación de clases de implementación de interfaz:
Convención de nomenclatura: elimine la primera letra "I" del nombre de la interfaz implementada y termine con "Impl". Si hay varias palabras, escriba en mayúscula la primera letra de cada palabra.
Por ejemplo: StudentInfoImpl
Convención de nomenclatura del marco J2EE+SSH
denominación de clases de servlet:
Convención de nomenclatura: termina con la palabra Servlet. Por ejemplo: LoginServlet.
Denominación POJO:
Simplemente use las clases generadas automáticamente por hibernación.
Nomenclatura de clases DAO:
Simplemente use las clases generadas automáticamente por hibernación.
Denominación de clases de acción:
Convención de nomenclatura: la denominación de acciones se basa en el nombre POJO, nombre POJO Acción
Por ejemplo:
Un nombre POJO es Diary y su acción correspondiente es DiaryAction.
Nomenclatura de clases ActionForm:
Convención de nomenclatura: la denominación de ActionForm está determinada por el nombre de POJO y el nombre de POJO.
Por ejemplo:
Un nombre POJO es Diary y su actioForm correspondiente es DiaryForm
Denominación de la interfaz de lógica empresarial:
Convención de nomenclatura: la denominación de la interfaz de lógica empresarial está determinada por el nombre POJO, y el nombre IPOJO es Servicio
Por ejemplo:
Un nombre POJO es Diary y su interfaz de lógica empresarial correspondiente es IDiaryService.
Denominación de clases de implementación de lógica empresarial:
Convención de nomenclatura: la denominación de la clase de implementación de la interfaz de lógica empresarial se basa en el nombre de POJO.
Un POJO se denomina Diary y la clase de implementación de interfaz de lógica empresarial correspondiente se denomina DiaryServiceImpl.
Nomenclatura de variables de clase:
Convención de nomenclatura: la primera letra del nombre de la variable debe estar en minúscula. Si el nombre de la variable consta de varias palabras, la primera letra de las palabras siguientes debe estar en mayúscula. No utilice "_" para conectar las palabras. El nombre de la variable debe ser privado. Puede agregar métodos setter y getter.
Por ejemplo: private int StudentAge;
público int getEdadEstudiante()
{
estudiante de regresoEdad;
}
conjunto vacío públicoEdadEstudiante(intEdadEstudiante)
{
this.edadEstudiante=EdadEstudiante;
}
Denominación constante:
Convención de nomenclatura: todas las letras están en mayúsculas. Si hay varias palabras, las palabras deben estar separadas por "_". Y la variable debe ser de tipo final público, estático. Por ejemplo: public static final String USER_NAME=”userName”;
Convención de nomenclatura de métodos: la primera letra debe estar en minúscula. Si el nombre de la variable consta de varias palabras, la primera letra de las siguientes palabras debe estar en mayúscula. No utilice "_" para conectar palabras. No utilices sustantivos para palabras.
Por ejemplo: public int checkLogin(nombre de cadena,contraseña de cadena){}
Especificaciones de anotación: las especificaciones de anotación son el componente más importante de toda la especificación de desarrollo y deben implementarse estrictamente.
Notas de clase:
Función: anote toda la clase y describa brevemente la función de la clase.
Convención de escritura: las anotaciones de clase deben escribirse antes de la sintaxis de declaración de la clase. En los comentarios, describa la función básica de la clase, autor, fecha, versión, nombre de la empresa y declaración de derechos de autor.
Formato:
/* *
* Descripción de la función de clase: (describe aproximadamente la función de la clase)
* @autor: nombre del autor
*
* @version: el número de versión del archivo de clase comienza desde 1.0 (decida usted mismo agregar y cambiar el número de versión
* Situación), estado de modificación (hora de modificación, autor, estado de modificación)
*
* @ver nombre del paquete Nombre de la clase de referencia (enumera las clases principales, introduce las clases, cada clase ocupa una línea), si corresponde.
*puede omitirse
* Datos relevantes como: (para facilitar la comprensión de algunos datos constantes de esta clase y el formato de algunos datos
*O datos que se consideren importantes, si no están disponibles se pueden omitir)
*/
La sintaxis de declaración de clase es la siguiente:
/**
*
Título: Clase de procesamiento de datos del módulo de administrador
*
Descripción: Suma dos números
*
Copyright: Copyright (c) 2007
*
Empresa: Compañía de software Huateng
*
* @autor Tong Jinhu
*
* @versión $Revisión: 1.7 $ $Fecha: 2007/07/08$
*/
clase pública AdminDAO
Comentarios variables y constantes:
Función: Describe brevemente el significado de esta variable.
Estándares de redacción: Los comentarios de las variables deben escribirse antes de la definición de la variable, describiendo brevemente su significado.
Formato:
/**
* Descripción de la función de la variable: (describa aproximadamente la función de la variable)
*/
Por ejemplo:
/**
*Definir variable edad
*/
edad interna pública;
Comentarios del método:
Función: una breve descripción de la función del método, anotaciones sobre el significado de sus parámetros y valores de retorno.
Convención de escritura: los comentarios del método deben escribirse antes de la definición del método. La anotación incluye: una breve descripción de la función del método, una breve descripción de los parámetros del método, el tipo de valor de retorno y el significado del valor de retorno.
Formato:
/**
*Descripción de la función del método
* @param args (el tipo de parámetro se puede escribir después del parámetro o se puede omitir)
* Omitido. Cada parámetro ocupa una línea)
* Parámetros de salida @return (múltiples situaciones escritas en la misma línea)
* @ver clase #método de referencia (los métodos relacionados con llamar a este método son como referencia)
* Para los exámenes, no es necesario enumerar todos los métodos en su totalidad. Debe elegir los que sean significativos.
*Los métodos ocupan una línea)
* Clase de manejo de excepciones @exception (excepciones que se pueden lanzar en el método, cada una
*Las excepciones ocupan una línea)
*/
Por ejemplo:
/**
* Cambiar contraseña de administrador
* @param adminId número de administrador
* @param oldPassword contraseña antigua
* @param contraseña nueva contraseña
* @return booleano si la edición fue exitosa
* @throws UserException
* @throws ServiceException
*/
public booleaneditAdminPassword(int adminId,String oldPassword,
Contraseña de cadena) arroja UserException,ServiceException;
Nombres de páginas JSP:
Convención de nomenclatura: el nombre de la página jsp debe comenzar con una letra minúscula. Si consta de varias palabras, las palabras siguientes deben comenzar con una letra mayúscula. El nombre debe reflejar el significado de la página y preferiblemente debe estar vinculado al nombre del módulo.
Por ejemplo:
login.jsp --Página de inicio de sesión
Register.jsp --Página de registro
message.jsp --Página de mensajes del cliente
Especificaciones de organización de la carpeta del proyecto del proyecto J2EE:
Propósito: Estandarizar la forma de organización de recursos de las aplicaciones web de los estudiantes y formar buenos hábitos de organización de archivos. La organización del documento debe reflejar la división en módulos.
Según las características de la herramienta eclipse, la estructura de directorios del proyecto es:
src
----Almacenamiento de archivos java
Raíz web
|--images --almacena imágenes públicas requeridas por programas web
|--css -- almacena las hojas de estilo públicas requeridas por los programas web
|--js --Almacena archivos js públicos requeridos por los programas web
|--commons --almacena archivos públicos requeridos por programas web
|--Carpeta del módulo de funciones (para almacenar recursos relacionados con un determinado módulo de funciones)
|--images --almacenar imágenes relacionadas con este módulo de función
|--css --Almacena los archivos de hojas de estilo relacionados con este módulo
|--js --Almacenar archivos js relacionados con este módulo
|--jsp, página html
|--WEB-INF
|--clases
|--lib
|--archivo tld
Especificaciones de envío del proyecto J2EE Cuando se completa el proyecto, el proyecto debe entregarse al usuario como un producto. Las buenas especificaciones de organización del proyecto permiten a los usuarios encontrar fácilmente los recursos necesarios para el proyecto y también son un reflejo de la profesionalidad de la empresa. Al enviar un proyecto, debe enviarse en el siguiente formato de archivo.
Carpeta principal del proyecto:
Función: almacenar otros archivos de recursos del proyecto.
Convención de nomenclatura: clase_hora número_grupo X.
Por ejemplo: 070706_GS2T18_Grupo 4.
La carpeta principal del proyecto incluye las siguientes carpetas y archivos:
|--src: Guarda el archivo .java.
|--base de datos: guarde el archivo de script o el archivo de copia de seguridad de la base de datos.
|--source: guarde todos los archivos en el directorio WebRoot en el proyecto eclipse.
|--depend: guarda otros archivos jar en los que se debe confiar para compilar el programa.
|--javadoc: guarda la documentación de la API de Javadoc generada por todas las clases.
|--war: archivo para guardar el programa
|--xx.war: el archivo del proyecto ha sido empaquetado y se puede ejecutar directamente.
|--project: guarda el código de ingeniería original y los archivos del proyecto de desarrollo.
|--Manual del producto.doc: Muestra cómo utilizar el producto en imágenes y texto.
|--build.xml: script ant, utilizado para generar archivos war en ejecución.
|--Explicación del proyecto.ppt: ppt para explicación del proyecto (ppt es solo para uso en proyectos de simulación escolar y no para otros fines comerciales)
Nota: En un proyecto completo, la base de datos debe tener una cierta cantidad de datos de prueba válidos para respaldar el funcionamiento del programa.