¿Qué significa sz en programación?
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, así como a 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.
Las indicaciones o mensajes de advertencia deben ser instructivos y pueden 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 para solicitar 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. El alcance requerido y el tipo de datos de una variable se pueden ver intuitivamente al ver su nombre.
Reglas de nomenclatura húngara:
Matriz de matriz
B BOOL (int) Booleano (entero)
Por carácter sin signo (byte) Sin signo carácter (byte)
c carácter (byte)
Recuento de bytes
Cr valor de referencia de color valor de color (referencia)
recuento de cx conjunto de x (entero corto) x (entero corto)
Dw DWORD (entero largo sin signo) palabra doble (entero largo sin signo)
indicadores F (valor general de varios dígitos) (generalmente valor de varios dígitos).
Función Fn
G_Global Global
h handle handle
I entero entero
Tipo de entero largo p>
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) entero corto sin signo
coordenadas x, y x, y (entero corto) valor de coordenadas/entero corto.
vempty
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
p>
Ch char carácter de 8 bits chGrade
Ch TCHAR carácter de tipo UNICODE de 16 bits chName
Booleano Variable booleana
N int entero (su el tamaño viene dado por Determinado por el sistema operativo)nLongitud
Entero sin signo (su tamaño lo determina el sistema operativo)nLongitud
w palabra Entero sin signo de 16 bits wPos
32 bits de largo Entero con signo l desplazamiento
Entero de 32 bits sin signo
Puntero de módulo de memoria, variable de puntero pDoc
Puntero largo
Puntero de cadena de 32 bits
Puntero de cadena constante de 32 bits
Puntero constante de tipo UNICODE de 32 bits
Identificador de objeto de ventana
Lpfn (* El puntero lejano al que se llama el puntero de la función de devolución de llamada fn)().
Función de devolución de llamada lpfnAbort
2.2.2 Denominación de funciones y procedimientos
El cuerpo de la función o el nombre del procedimiento debe estar en mayúsculas y minúsculas y 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 la solicitud. En un proyecto, si usa Cnt por un tiempo y cuenta 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:
/ /======= =========================================== =====
//Nombre de la función: InsureHasOutputInfo
//Descripción de la función: Garantiza 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: * * *
//Notas 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 estos tipos cuando se trata de tipos definidos por el usuario. 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 coloque la definición de la variable al principio si es posible.
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)IDB _ empresa _ logo 1 ~ 0x 6 fff
IDC _ cursor IDC _ lápiz 1 ~ 0x 6 fff
Recurso IDI_icon (icono) IDI_Notepad1~0x6FFF
ID_ de la barra de herramientas o barra de menú, IDM_Command Item ID_TOOLS_SPELLING 0x 8000 ~ 0x dfff
HID_ ayuda contextual del comando HID_ herramientas _ ortografía 0x 18000 ~ 0x 1 dfff
IDP_ cuadro de mensaje Solicitar recurso de texto IDP _ INVALID _ PARTNO 8 ~ 0xDFFF.
HIDP_Cuadro de mensaje ayuda contextual hidp _ invalid _ part no 0x 30008 ~ 0x 3d fff
IDS_ recurso de cadena (cadena)IDS _ copyright 1 ~ 0x 7 fff
Recurso de control IDC_Recalc8 ~ 0xdfff en IDC_dialog
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 visualmente estructuras jerárquicas como bucles y juicios.
Para cada bloque de funciones anidado, 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, para que el llaves Simplemente póngalo en una línea separada. En la mayoría de los casos, se deben comentar las banderas anti-bloat. Los ejemplos son los siguientes:
if(condición 1)
{
mientras(condición 2)
{
… ..
… ..
}//finalizar mientras (condición 2)
}//finalizar si (condición1)
O
if(condición1){
mientras(condición2){
….
….
}//end while(condición 2)
}//end if(condición 1)
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 Las operaciones de bases de datos solo pueden utilizar declaraciones SQL estándar, las palabras clave deben estar en mayúscula (como SELECT, WHERE, etc.) y 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 apropiada.
El control de versiones del proyecto 2.3.8 debe ser estricto. El formato de versión es me.ae.aa.mmdd, donde [me] representa el número de versión principal [ae] representa el número de versión secundaria; ; [aa.mmdd] representa 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 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 Los nombres de archivos generalmente usan el formato "xxx_yyy.ext", xxx (3-4 letras) representa clasificación, yyy (número personalizado de letras) representa operaciones (como "/example/exp_edit .htm").
\
¡Lo copié de documentos de la empresa! ¡Compruebe usted mismo si funciona para usted!