Como desarrollador, debe haber especificaciones de código estrictos. Por esta razón, resumí algunos casos de especificación de código.
Tabla de contenido
1. Prólogo
2. Rango de prueba
3. Especificación de nombres de Java-
3.1 Acuerdo público
3.2 Archivos de Java, bolsas, bolsas
3.3 clase, especificaciones de nombres de interfaz
3.4 Especificación de nombres de métodos
3.5 constante
3.6 Variables y parámetros
3.7 componente/componente
3.8
3.9 Número misterioso
3.10 otros
3.11 Excepción de Java
3.12 nombres de matriz
3.13 Reglas de nombres de la tabla de bases de datos
3.14 Reglas de nombres de campo de base de datos
3.15 Nombre del archivo JSP
3.16 Nombre del servlet
4. Especificación de formato de escritura
4.1 Endix
4.2 Espacio
4.3 Alineación
4.4 Línea vacía
4.5 nota
5. estilo de archivo de código
1. Prólogo para garantizar la legibilidad del programa de fuente del sistema, mejorando así el mantenimiento del sistema del sistema y formular las siguientes especificaciones de programación para regular la programación del sistema. Los programas de origen en otros recursos heredados por el sistema también deben modificarse en consecuencia de acuerdo con esta especificación.
2. El alcance de prueba de este documento se utilizará como formato de programación para el desarrollo del software del sistema de aplicaciones postales Hebei (lenguaje Java). Durante el proceso de codificación, prueba y mantenimiento del sistema, se requiere que se observe estrictamente.
3. Especificación de nombres de Java
3.1 Naming del nombre de archivo de origen, método, directorio, paquete, nombre de la tabla de la base de datos, campo de base de datos, etc. En el nombre del nombre del archivo de origen, el método, el directorio, el paquete, el nombre de la tabla de la base de datos, el nombre de la tabla de la base de datos, el campo de la base de datos. Desolado
El nombre utilizado por el sistema se expresa en abreviaturas inglesas. Desolado
El método de nomenclatura es: prefijo+{abreviatura de palabras de nombres}, el prefijo expresa el uso de nombres, como las tablas de la base de datos. Desolado
El prefijo de nombres está determinado por el equipo del proyecto. Desolado
Otros objetos, excepto el sistema, los objetos de mantenimiento público, todos los nombres usan una minúscula. Una forma usa "_" como símbolo de conexión, y la otra es conectar las primeras letras de la palabra Prime directamente. En esta especificación, el nombre de la base de datos y el nombre del campo de la base de datos adoptan la primera manera, y el resto está en la segunda manera. Desolado
El uso puede ilustrar con precisión el descriptor completo de inglés de variable/campo/class/interfaz/bag. Por ejemplo, utilizando nombres como FirstName, Listallusers o Corporatecustomer, está estrictamente prohibido usar pinyin chino y palabras no relacionadas. , métodos, variables, campos, etc. llamado
Uso de una mezcla en minúsculas para mejorar la legibilidad del nombre. En general, se deben usar letras minúsculas, pero las primeras letras de los nombres y los nombres de la interfaz, y la primera letra de cualquier palabra intermedia debe ser superior. Todos los nombres de los paquetes. Desolado
Intente usar como pequeñas abreviaturas, pero si debe usarlo, cuando usa abreviaturas públicas y abreviaturas habituales, como el implemento, se puede abreviar como implement, los gerentes (gerente) se pueden abreviar como mgr, etc. Para más detalles, consulte a abuso de abuso. (Evite usar nombres largos (preferiblemente no más de 25 letras).
Evite usar números, pero 2 se puede usar en lugar de, 4 en lugar de para, etc., como: go2jsp.
3.2 Archivo Java, bolsa
El nombre del archivo debe ser el mismo que su clase, y la primera letra de la palabra está capitalizada. Desolado
El nombre del paquete generalmente lleva el nombre de proyectos o módulos, y utiliza menos abreviaturas y nombres largos. Desolado
Paquete básico: com.czpost, todos los paquetes y archivos pertenecen a este paquete.
El nombre del paquete está compuesto por las siguientes reglas: [paquete básico].
La clase no debe definirse directamente bajo el paquete básico.
3.3 Especificaciones de nombres de categoría e interfaz Todas las palabras de todas las palabras. Use palabras que puedan ser exactamente iguales, significado de interfaz, función, etc. Generalmente usa sustantivos. Desolado
La interfaz puede traer I prefijo o capaz, ible, e y otros sufijos.
3.4 Método Método de especificación de nombres El nombre del método del estándar de nombres debe usar descriptores en inglés completos, uso mixto de un minúscula: las primeras letras de todas las palabras intermedias. La primera palabra del método del método a menudo usa un verbo con un color de acción fuerte. El valor del valor utiliza el prefijo Get, la clase de valor usa el prefijo establecido y el juicio de la clase usa el prefijo (ha). Ejemplo: getName () setSarry () islogon () Método Secuencia de parámetros: (por el operador, contenido operativo, logotipo operativo, otros) Ejemplo: public void reemplazar (String SourCestr, String OldStr, String Newstr) {...... ...}
3.5 La constante usa una palabra capitalizada completa en inglés y se conecta a la línea entre palabras y palabras, como: default_value
3.6 Se recomiendan variables y variables de parámetros para utilizar el método de nomenclatura húngaro.
Variable de plataforma (incluyendo int, breve, largo): Comience con n, por ejemplo: ncrednum largo;
Variables de punto flotante (incluyendo flotador, doble): Comience con F, por ejemplo: Double Ftranamt;
Variable de carácter: Comience con C, por ejemplo: Char CPageFlag;
Variable de fecha: Comience con D, por ejemplo: Fecha DTODAY;
Variables de cadena: Comience con S, por ejemplo: Char Spageno [2+1];
Variables globales: el tipo de datos con G, por ejemplo: Chsbankno [10+1];
Variables estáticas: las variables estáticas también son variables globales en los archivos, y las reglas de nombres son las mismas que las variables globales. Desolado
Variables de nivel de sistema: las variables de nivel del sistema también son variables globales.
Por ejemplo: char _sbankno [10+1] no hay 'g'.
Las variables temporales generalmente se llaman i, j, k, my n, y generalmente se usan para enteros;
3.7 componentes/componentes deberán adoptar un componente completo de nombres de descriptores en inglés (componente de interfaz), seguido de reglas de nombres húngaros como: btnok, lblname. Variable del botón t btn+xxxxxxx, por ejemplo: btnsave, btn sale, btnprint, etc. elección de diálogo chc dlg evt evt frm menú menú panel Pnl textarea txa textfield txf
3.8 Una colección, como la matriz y el vector, debe ser nombrado por múltiples números para representar el tipo de objeto almacenado en la cola. El nombramiento debe usar un descriptor completo en inglés. Tales como: vector vproduts = new Vector ();
3.9 Los programas de números misteriosos a menudo usan algunas cantidades. Tenga en cuenta que el nombre de esta constante debe expresar la importancia del número, y debe ser todo el proceso, que se distingue del identificador correspondiente a la variable. Por ejemplo, el número 50 se puede definir como un reemplazo constante llamado num_of_employees.
3.10 Los dobles deben usarse cuando otros nombres indican que representan múltiples valores. Tales como: Orderitems.
3.11 La categoría anormal anormal de Java consiste en las palabras que representan el tipo anormal y la excepción, como ActionXception.
Las instancias anormales generalmente usan E, Ex, etc. En anormalidades múltiples, use este nombre o abreviatura anormal para agregar E, Ex, etc.
3.12 Las matrices de nombres de matriz siempre deben nombrarse de la siguiente manera: byte [] buffer;
3.13 Las reglas de nomenclatura de la tabla de la base de datos están separadas por las líneas inferiores entre el prefijo y la palabra de denominación.字 Nombre, consiste en una letra minúscula. Desolado
Si la palabra de nombres está compuesta de una sola palabra, se puede usar para la ortografía completa; Entre las abreviaturas, use la línea inferior. Por ejemplo: 库 例 例: Comience con 'T_' Ver: Comience con 'V_' 例 例 例 例 例 例 例 例 例 例 例 例 例 例 例 例 例 例 例 例 例 例 例 例 例 例 例tabla al final de '_idx': 'final
3.14 Reglas de nombres de campo de base de datos
Si la palabra de nombres está compuesta de una sola palabra, se puede usar para la ortografía completa; Entre las abreviaturas, use la línea inferior.字 Nombre, consiste en una letra minúscula. No hay prefijo.
3.15 El nombre de archivo JSP utiliza una descripción completa del inglés para indicar la función completada por JSP, incluido un verbo vívido, las primeras letras, como: ViewMessage.jsp, Edituser.jsp o Forumchooser.jsp, etc.
3.16 El nombre de la clase Servlet generalmente corresponde a los objetos atendidos con el servicio de sufijo, como: UserService, Tradeservice, etc.
4. El formato de escritura requiere estrictamente el formato de escritura para hacer que el programa sea ordenado, fácil de leer y un estilo unificado. Se recomienda que el programa de origen desarrolle la herramienta Eclipse, y las especificaciones de formato son previos a la herramienta.
4.1 Las sugerencias de innovación y sangría se basan en 4 cuadrículas vacías. Se escriben declaraciones previas al procesamiento, datos globales, título, descripción adicional, descripción de la función, etiqueta, etc. Los "{" y "}" del bloque de oraciones están alineados y alineados con la línea anterior. El método predeterminado en SCLIPSE es el comienzo "{" no es una línea separada, y se recomienda cambiar al formato anterior.
4.2 En principio, las variables, las clases, los datos constantes y las funciones en el espacio en principio están en su tipo, el nombre modificado está correctamente espaciado y alineado de acuerdo con la situación. Se puede usar en el principio de palabras clave, como: if (...) y así sucesivamente. Los requisitos de espacio del operador son los siguientes: "::", "->", "[", "" "," ++ ","-"," ~ "," "!", "+"-- "(Se refiere al número positivo)," & "(citado) y otros operadores, como los dos lados de la calculación, no sin espacios (de los cuales el sistema de símbolos informático único se refiere al lado conectado de la operación), otros operadores (incluidos la mayoría de los dos operadores y operadores y operadores de dos postes y "operador de tres años"?: "Una cuadrícula vacía en ambos lados, se puede alinear de acuerdo con la situación cuando la función se define, pero se puede usar cuando la función se implementa. "La cuadrícula no puede estar vacía o múltiple cuando necesite alinearse.
4.3 Las líneas cercanas de alineación deben alinearse en principio, y la alineación incluye todas las partes, como tipos, modificaciones, nombres y parámetros. La longitud de cada línea no debe exceder demasiado la pantalla. Sugeración de la primera línea, es decir, si su siguiente línea es "{", debe alinearse con la primera línea. Las definiciones de variables son las mejores para alinear con los espacios o claves de las pestañas, y las variables del mismo tipo son las mejores juntas. Como se muestra en el siguiente ejemplo: int nValue;
4.4 Debe haber líneas vacías irregulares en la línea vacía, como diez líneas vacías consecutivas. Cada parte de la estructura del archivo del programa está vacía. Para las funciones que escribe, se recomienda agregar "// -------" para separarse. Al menos una línea debe estar vacía entre los datos internos de la función y el código. de eso. Hay al menos una línea entre las cuatro "P" en la clase, y los datos y las funciones también deben estar vacíos.
4.5 Notas Las notas son la realización específica de la legibilidad del software. Las anotaciones del programa generalmente representan el 20%del número de codificación de programas, y los requisitos de ingeniería de software no son inferiores al 20%. Las anotaciones del programa no pueden usarse en idiomas abstractos como "procesamiento" y "ciclo" en lenguaje abstracto. Evite los comentarios de cada fila de procedimientos, puede agregar un comentario frente a un programa, con una lógica de procesamiento clara. Los comentarios son esenciales, pero demasiado debería ser demasiado. Las siguientes son cuatro notas necesarias: Título y descripción adicional.的 Explicación de funciones, clases, etc. Debe haber explicaciones apropiadas para casi todas las funciones. , si es necesario, debe haber algunas instrucciones, como requisitos especiales de software y hardware. La declaración de funciones públicas y clases públicas debe explicarse por el método y las ideas de diseño. Desolado
Debe haber una cierta explicación en el trasplante poco claro o no transplante. Desolado
Y una pequeña cantidad de otras notas, como comentarios de variables personalizadas, tiempo de escritura de código, etc.
5. Código de estilo de archivo Todos los archivos Java (*. Java) deben seguir las siguientes reglas de estilo:
Para la generación de archivos, para la clase de derivada Java estandarizada, intente usar la herramienta Eclipse para generar el formato de archivo para evitar archivos de encabezado hechos a mano/archivos de implementación. El paquete/línea de paquete de importación debe ser antes de la línea de importación, el nombre del paquete estándar en la importación es antes del nombre del paquete local y organizado en el orden de las letras. Si la fila de importación contiene diferentes sub -directorio en el mismo paquete, debe procesarse con*.
Paquete hotlava.net.stats; Desolado
La anotación principal del archivo de anotación del cabezal del archivo muestra principalmente información del archivo, que es la descripción general del programa, que puede mejorar la legibilidad y el mantenimiento del programa. La anotación del cabezal del archivo generalmente está detrás de la declaración de paquete/importaciones, y la descripción de la clase. Se requiere escribir al menos nombres de archivos, creadores, tiempo de creación y descripciones de contenido. El formato debe limitarse tanto como sea posible: /*** Título: OK para determinar la clase de posición del mouse* Descripción: Determine qué campo de trabajo es ahora y devuelve el número de trabajo* @Copyright: Copyright (c) 2002* @Company: Presione * @authoror: rivershan * @version: 1.0 */ Clase El siguiente son comentarios de clase, que generalmente se usan para explicar la clase. / ** * Una clase que reprime un conjunto de Technus de recuento de paquetes y bytes * Es observable permitir que sea Watchet, pero solo * informa que los informes cambian cuando el conjunto actual está completo E */ Siguiente es una definición de clase, que contiene diferentes líneas Extiende e implementa el contador de clase pública extiende implementos observables clonables Campos de clase
Siguiente es una variable de miembro: / ** * Conteo de paquetes * / PACKETS INT INT []; Si las variables de los miembros definidas por Procity, Private y Paquete son claras, no hay comentarios.是 El método de acceso es la forma de acceder a la variable. Es solo simplemente usar las variables de la clase para obtener el valor, que se puede escribir simplemente en la línea. (Personalmente, piense que intente escribir tanto como sea posible)
/** * Obtenga los contadores * @return una matriz que contiene los datos de estadísticas.
Public int [] getPackets () {return CopyArray (paquetes, offset);} public int [] getBytes () {return copyArray (bytes, oficina)] getPackets () {paquetes de retorno;} public void setPackets (int [] paquetes) {This.packets = paquetes;}
Otros métodos no deben escribirse en una línea de constructor. Los tipos de acceso ("público", "privado", etc. y cualquier "estática", "final" o "sincronizada" deben estar en una línea, y los métodos y parámetros se pueden escribir uno por uno. Esto puede hacer métodos y Parámetros más fáciles de leer.
Contador público (Tamaño int) {
this.size = size;
}
Si el método de clon se puede clonar, el siguiente paso es el método de clonos: público objeto clone () {)
intentar {
Conteo obj = (campo) Super.Clone ();
} Catch (clonenotsupportedException e) {{
Tirar nueva Internet ("ClonenotsupportException inesperado:" + E.getMessage ());
}
}
El método de clase comenzó a escribir un método de clase:
/ ** * Establezca el recuento de paquetes * GALARGUNMEXCETION {
// asegúrese de que las matrices sean de igual tamaño // if (r1.length! = R2.length || r1.length! = R3.length || r1.length! = R4.length) ion ("Las matrices deben ser de los tamaño de noticias "; System.ArrayCopy (R1, 0, R3, 0, R1.length); System.ArrayCopy (R2, 0, R4, R4, R1.length); una clase debe definir el método de toString:
Public String ToString () {String RetVal = "Countret:"; ();} Return retval;}
Si se define el método principal, debe escribirse en la parte inferior de la clase.