Las convenciones de codificación son sugerencias que pueden ayudarle a escribir código mediante Microsoft Visual Basic Scripting Edition. Las convenciones de codificación pueden incluir:
La razón principal para utilizar un conjunto de convenciones de codificación es estandarizar la estructura y estilo de codificación de una secuencia de comandos o de un conjunto de secuencias de comandos de manera que usted y otros puedan leer y entender el código fácilmente. Utilizar buenas convenciones de código da como resultado código de origen preciso, legible, coherente con otras convenciones de lenguaje e intuitivo.
Las versiones anteriores de VBScript no tenían ningún mecanismo para crear constantes definidas por el usuario. Las constantes, si se utilizaban, se implementaban como variables y se distinguían de otras variables utilizando todos los caracteres en mayúscula. Las palabras múltiples se separaban utilizando el carácter de subrayado. Por ejemplo:
USER_LIST_MAX NEW_LINE
Aunque esto es aún una forma aceptada de identificar sus constantes, quizá desee utilizar un esquema de nomenclatura alternativo, ahora que puede crear verdaderas constantes mediante la instrucción Const. Esta convención utiliza un formato mixto de mayúsculas y minúsculas en el que los nombres de constante tienen un prefijo "con" (constante). Por ejemplo:
conYourOwnConstant
Para mejorar la legibilidad y coherencia, utilice los siguientes prefijos con nombres descriptivos para variables en su código VBScript.
Subtipo | Prefijo | Ejemplo |
---|---|---|
Boolean | bln | blnFound |
Byte | byt | bytRasterData |
Date (hora) | dtm | dtmStart |
Double | dbl | dblTolerance |
Error | err | errOrderNum |
Integer | int | intQuantity |
Long | lng | lngDistance |
Object | obj | objCurrent |
Single | sng | sngAverage |
String | str | strFirstName |
Las variables deben definirse siempre con el menor ámbito posible. Las variables de VBScript pueden tener el siguiente ámbito.
Ámbito | Donde se declara la variable | Visibilidad |
---|---|---|
Nivel de procedimiento | Procedimiento Event, Function o Sub | Visible en el procedimiento donde se declara |
Nivel de secuencia de comandos | Sección HEAD de una página HTML, fuera de cualquier procedimiento | Visible en cada procedimiento de la secuencia de comandos |
A medida que aumenta el tamaño de la secuencia de comandos, aumenta el valor de la posibilidad de diferenciar el ámbito de las variables. Esto lo proporciona un prefijo de ámbito de una letra que precede al prefijo de tipo, sin aumentar el tamaño de los nombres de variable.
Ámbito | Prefijo | Ejemplo |
---|---|---|
Nivel de procedimiento | Ninguno | dblVelocity |
Nivel de secuencia de comandos | s | sblnCalcInProgress |
El cuerpo de una variable o procedimiento debe utilizar una combinación de mayúsculas y minúsculas y debe ser tan descriptivo como sea necesario. Además, los nombres de procedimiento deben comenzar por un verbo, como InitNameArray o CloseDialog.
Para términos utilizados con frecuencia o largos, se recomiendan las abreviaturas estándar para ayudar a mantener una longitud razonable del nombre. En general, los nombres de variable mayores de 32 caracteres pueden ser difíciles de leer. Cuando utilice abreviaturas, asegúrese de que son coherentes a lo largo de toda la secuencia de comandos. Por ejemplo, cambiar aleatoriamente entre Cnt y Count dentro de una secuencia o un conjunto de secuencias de comandos puede inducir a confusión.
La siguiente tabla muestra las convenciones recomendadas para los objetos con los que puede encontrarse mientras programa en VBScript.
Tipo de objeto | Prefijo | Ejemplo |
---|---|---|
Panel 3D | pnl | pnlGroup |
Botón animado | ani | aniMailBox |
Casilla de verificación | chk | chkReadOnly |
Cuadro combinado, cuadro de lista desplegable | cbo | cboEnglish |
Botón de comando | cmd | cmdExit |
Diálogo común | dlg | dlgFileOpen |
Marco | fra | fraLanguage |
Barra de desplazamiento horizontal | hsb | hsbVolume |
Imagen | img | imgIcon |
Etiqueta | lbl | lblHelpMessage |
Línea | lin | linVertical |
Cuadro de lista | lst | lstPolicyCodes |
Botón de número | spn | spnPages |
Cuadro de texto | txt | txtLastName |
Barra de desplazamiento vertical | vsb | vsbRate |
Control deslizante | sld | sldScale |
Todos los procedimientos deben comenzar por un breve comentario que describa lo que hacen. Esta descripción no debe describir los detalles de implementación (cómo lo hace) porque a menudo cambia a lo largo del tiempo y provoca un trabajo de mantenimiento de comentarios innecesario, o lo que es peor, comentarios incorrectos. El propio código y cualquier comentario de línea necesarios describen la implementación.
Los argumentos que se pasan a un procedimiento deben describirse cuando su propósito no es evidente y cuando el procedimiento espera que los argumentos estén comprendidos en un intervalo específico. Los valores de retorno para las funciones y variables que cambia un procedimiento, especialmente a través de argumentos de referencia, deben también describirse al comienzo de cada procedimiento.
Los comentarios del encabezado del procedimiento deben incluir los siguientes encabezados de sección. Para ver un ejemplo, consulte la sección siguiente "Dar formato a su código".
Encabezado de sección | Contenido del comentario |
---|---|
Propósito | Lo que el procedimiento hace (no cómo). |
Suposiciones | Lista de cualquier variable o control externo, o cualquier otro elemento cuyo estado afecte a este procedimiento. |
Efectos | Lista del efecto del procedimiento en cada variable o control externo, u otro elemento. |
Entradas | Explicación de cada argumento que no sea evidente. Cada argumento debe estar en una línea distinta con comentarios de línea. |
Valores de retorno | Explicación del valor devuelto. |
Recuerde los siguientes puntos:
Se debe conservar el espacio de pantalla lo más posible, siempre que permita dar formato al código para reflejar la estructura lógica y el anidamiento. Aquí tiene unas cuantas sugerencias:
El siguiente código utiliza los convenciones de codificación de VBScript.
'********************************************************* ' Propósito: ubica la primera aparición de un usuario ' especificado en la matriz UserList. ' Entrada: strUserList(): la lista de usuarios que se ha de buscar. ' strTargetUser: el nombre del usuario que se ha de buscar. ' Salida: el índice de la primera aparición de strTargetUser ' en la matriz strUserList. ' Si no se encuentra el usuario buscado, devuelve -1. '********************************************************* Function intFindUser (strUserList(), strTargetUser) Dim i ' Contador de bucle. Dim blnFound ' Indicador de destino encontrado intFindUser = -1 i = 0 ' Inicializar contador de bucle Do While i <= Ubound(strUserList) and Not blnFound If strUserList(i) = strTargetUser Then blnFound = True ' Establecer indicador como True intFindUser = i ' Establecer valor de ret. como cont. de bucle End If i = i + 1 ' Incrementar contador de bucle Loop End Function
Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com. |