Reglas de nomenclatura para el diccionario de datos
Propósito de 1.1
En el proceso de desarrollo de software, la carga de trabajo de codificación es considerable. Las personas involucradas en el mismo proyecto pueden tener su propia experiencia y hábitos de programación, y los diferentes estilos de código de programa hacen que el trabajo de mantenimiento sea complicado y difícil. Para mejorar la legibilidad del código, la estabilidad del sistema y reducir el costo de mantenimiento y actualizaciones, esta especificación está escrita especialmente para unificar el trabajo de programación de los desarrolladores.
1.2 Objetos aplicables
Esta especificación se aplica a todos los desarrolladores, incluidos los desarrolladores de aplicaciones, páginas web y bases de datos, y los probadores de programas relacionados.
1.3 Estándar de referencia
GB/T 11457 Terminología de ingeniería de software.
Especificaciones de desarrollo de software informático GB 8566
Guía de documentación de desarrollo de productos de software informático GB 8567
2. Requisitos de redacción
2.1 Reglas generales del código
El principio de legibilidad es la primera opción para evaluar la calidad de un programa. Es mejor garantizar la legibilidad del programa sin algunas habilidades. No sacrifique la legibilidad del programa por una búsqueda excesiva. habilidades.
Principio de independencia funcional. Cada bloque de programa solo completa una función independiente. Por el contrario, cada función independiente solo se completa en un bloque de programa, con el menor acoplamiento y la mayor cohesión posible.
Las indicaciones deben ser breves y evitar la ambigüedad.
La información de aviso o advertencia debe ser instructiva y puede indicarle con precisión al usuario la causa del error y el método de recuperación. Los cuadros de diálogo de mensajes y advertencias deben utilizar convenciones estándar.
La definición de teclas de acceso directo debe ajustarse a los hábitos operativos del usuario.
Cuando el programa necesita procesarse o esperar mucho tiempo, se debe mostrar una barra de progreso y se le debe pedir al usuario que espere.
Algunas operaciones sensibles (como la eliminación) deben solicitar confirmación al usuario antes de su ejecución.
2.2 Reglas de nomenclatura de variables, funciones, procedimientos y controles.
2.2.1 Nomenclatura de variables
La nomenclatura de variables se define mediante la regla [alcance] [tipo de datos] [nombre definido por el usuario] y sigue el método de nomenclatura húngaro. Se requiere que el alcance y el tipo de datos de la variable se puedan ver intuitivamente al ver el nombre de la variable.
Reglas de nomenclatura húngaras:
Matriz de matrices
Booleano (entero)
Por carácter sin signo (byte) carácter sin signo (byte)
c carácter (byte)
Cb recuento de bytes
Valor de referencia de color Valor de color (referencia)
x (corto) cx recuento establecido para x (corto)
Dword (largo sin firmar)
f flag (valor genérico de varios bits) flag (normalmente un valor de varios dígitos).
Función Fn
G_Global Global
h identificador de identificador
I entero entero
l tipo entero largo
Puntero largo
M_ Miembro de datos de clase a miembro de datos.
Corte corto
Puntero puntero
cadena de cadena
Una cadena terminada en 0.
Texto Reglas de texto métrico
u unsigned int unsigned entero
Ul unsigned long (ULONG) unsigned long.
w palabra (entero corto sin signo)
coordenadas x, y x, y (entero corto) valor de coordenadas/entero corto.
Vacío
Alcance de la acción:
Ejemplo de prefijo de alcance
Alcance global g_ g_Servers
Variable miembro m_ m_pDoc
Sin alcance local de cadena
Tipo de datos
Lista de prefijos públicos de VC
Ejemplo de descripción del tipo de prefijo
Ch char carácter de 8 bits chGrade
Ch TCHAR carácter de tipo UNICODE de 16 bits chName
Boolean La variable booleana está deshabilitada
Entero (su tamaño está determinado por el sistema operativo ) longitud
Unint entero sin signo (su tamaño lo determina el sistema operativo) nLongitud
w palabra entero sin signo de 16 bits wPos
l largo 32 -bit Entero con signo l desplazamiento
Entero sin signo de 32 bits
Puntero de módulo de memoria, puntero variable pDoc
Puntero largo
32- carácter de bit Puntero de cadena
Puntero de cadena constante de 32 bits
Lpsz LPCTSTR Puntero constante de tipo UNICODE de 32 bits lpszName
identificador h Identificador de objetos de Windows hWnd
lpfn(*fn)() función de devolución de llamada puntero de devolución de llamada puntero lejano al que apunta.
Función de devolución de llamada lpfnAbort
2.2.2 Denominación de funciones y procedimientos
El cuerpo del nombre de la función o procedimiento debe ser mixto y debe ser lo suficientemente largo para describir su función . Además, los nombres de las funciones deben comenzar con un verbo, como InitNameArray o CloseDialog. Para proyectos más largos o de uso frecuente, se recomienda utilizar abreviaturas estándar para racionalizar la longitud del nombre. En términos generales, los nombres de variables de más de 32 caracteres son difíciles de leer en un monitor VGA. Cuando utilice abreviaturas, asegúrese de que sean coherentes en toda su solicitud. En un proyecto, si usa Cnt por un tiempo y Count por un tiempo, causará confusión innecesaria.
Para funciones escritas por usted mismo, si es una función clave del sistema, la información de la función debe marcarse encima de la parte de implementación de la función, en el siguiente formato:
/ /====== ============================================ ===== p>
// Nombre de la función: InsureHasOutputInfo
// Descripción de la función: Asegúrese de que la información de salida sea correcta.
//Parámetros de entrada:nproductivo:ID del producto correspondiente.
//Parámetros de salida: void
//Fecha de creación: 00-2-21
//Fecha de modificación: 00-2-21
//Autor: * * *
//Comentarios adicionales:
//=================== ====================================
Tipos definidos por el usuario
En proyectos grandes con muchos tipos definidos por el usuario, a menudo es necesario darle a cada tipo su propio prefijo de tres caracteres. Si estos prefijos comienzan con "u", es fácil identificar rápidamente los tipos definidos por el usuario al trabajar con ellos. Por ejemplo, ucli se puede utilizar como prefijo para variables de tipo de cliente definidas por el usuario.
Nota: Para variables no generales, indíquelas al definirlas y, si es posible, coloque la definición de la variable al principio.
Control de nombres
Los objetos deben nombrarse con prefijos consistentes para que las personas puedan identificar fácilmente el tipo de objeto.
Lista de nombres de definiciones de macros comunes de VC
Rango de ejemplo de símbolo de tipo de prefijo
IDR_identifica el tipo compartido por múltiples recursos * * * IDR_MAINFRAME 1~0x6FFF
IDD _ dialog IDD _ Spell _ check 1 ~ 0x 6 fff
HIDD_Ayuda contextual basada en diálogo Hidd _ Spell _ Check 0x 20001 ~ 0x 26 ff
Recurso de mapa de bits IDB_ (mapa de bits) BID_empresa_logo1 ~ 0x6fff
IDC_cursor IDC_lápiz 1 ~ 0x 6 fff
IDI_icon recurso (icono) IDI_Bloc de notas 1~0x6FFF
Barra de herramientas o barra de menú ID_, IDM_ Elemento de comando ID_TOOLS_SPELLING 0x8000~0xDFFF
Ayuda contextual del comando HID_ HID_ herramientas _ ortografía 0x 18000 ~ 0x 1 dfff
El cuadro de mensaje IDP_ solicita el recurso de texto IDP _ NO VÁLIDO _ PARTNO 8 ~ 0xDFFF.
HIDP_Message box contexto ayuda hidp_invalid_part no 0x 30008 ~ 0x 3d fff
IDS_ recurso de cadena (cadena) ids _ copyright 1 ~ 0x7fff
Control de recursos en IDC_dialog IDC_Recalc8 ~ 0xdfff
2.3 Reglas del código fuente
2.3.1 Convención de estilo: la estructura jerárquica del programa se guarda en formato sangrado. Es necesario ver intuitivamente estructuras jerárquicas como bucles y juicios.
Para cada bloque de funciones anidadas, use sangría de tabulación (se puede establecer en 4 espacios) y las llaves deben colocarse en la siguiente línea de la declaración condicional, que es una línea separada, por lo que los paréntesis deben colocarse en líneas separadas. En la mayoría de los casos, se deben comentar las banderas anti-expansión. Los ejemplos son los siguientes:
si (condición 1)
{
mientras (condición 2)
{
… ..
… ..
}//finalizar mientras (condición 2)
}//finalizar si (condición 1)
O
si (condición 1) {
mientras (condición 2) {
….
….< /p >
}//end while (condición 2)
}//end if (condición)
2.3.2 Se deben utilizar espacios antes y después del operador.
2.3.3 Se debe agregar un espacio después de la coma que separa el índice del array y los parámetros de la función.
2.3.4 El uso de declaraciones go to está estrictamente prohibido.
2.3.5 Solo se pueden utilizar sentencias SQL estándar para operaciones de bases de datos, y las palabras clave deben estar en mayúscula (como SELECT, WHERE, etc.) y los elementos de datos (tablas, campos, vistas, etc.). ) debe escribirse según el diccionario de datos.
2.3.6 El código del programa debe tener suficientes funciones de procesamiento tolerantes a fallos.
Utilice uniformemente el formato de lanzamiento de C++ para posibles excepciones:
Pruebe
{
//Código que puede causar excepciones
Lanzar t; // Generar manualmente una excepción
}
catch (type_1e) //type_1 es un definidor de tipo, como int, CException, _com_error.
{
//manejo de excepciones de tipo type_1
}
Catch (tipo 2 e)
{
//manejo de excepciones de tipo type_2
}
2.3.7 La estructura del código del programa debe ser clara y las líneas en blanco deben usarse de manera adecuada.
El control de versiones del proyecto 2.3.8 debe ser estricto y el formato de versión es me.ae.aa.mmdd, donde [me] representa el número de versión principal [ae] representa la versión secundaria; número; [yy.mmdd 】Indica la fecha de creación de la versión. Las versiones superiores son lo más compatibles posible con el uso, los datos o los protocolos de las versiones inferiores.
2.4 Reglas de nomenclatura de archivos
2.4.1 De acuerdo con la estructura especificada en el diseño del sistema, cree las carpetas y subcarpetas correspondientes según sea necesario.
2.4.2 Los nombres de carpetas y archivos deben poder expresar su significado tanto como sea posible. Los nombres en inglés deben usarse tanto como sea posible. No se permiten caracteres chinos.
2.4.3 El nombre del archivo generalmente adopta el formato "xxx_yyy.ext", XXX (3-4 letras) representa la clasificación y yyy (número personalizado de letras) representa la operación (como " /ejemplo/exp_edit.htm").
\
¡Lo copié de documentos de la empresa! ¡Compruebe usted mismo si funciona para usted!