Cada programador tiene su propio estilo para escribir. Un buen estilo para programar deberá tener una estructura de código fácil de entender, no solo para otra gente sino también para si mismo. Aquí hay varios criterios para un buen estilo:
Los nombres de variables y procedimientos definidos por el usuario deberán ser significativos. Estos nombres deben ser autoexplicativos con respecto a su propósito. Para ayudar al usuario en la asignación de nombres se puede manejar un estandar de nombres convensionales. Cada tipo de control tiene su propio Prefijo el cual es seguido de un parte definida por el usuario la cual deberá ser una identificación única para especificar el tipo de control.
Control | Prefijo | Ejemplo |
---|---|---|
Check box | chk | chkSoloEscritura |
Combo box | cbo | cboLenguaje |
Command button | cmd | cmdCancelar |
Directory list box | dir | dirDestino |
Drive list box | drv | drvFuente |
File list box | fil | filSeleccionado |
Form | frm | frmPrincipal |
Frame | fra | frmImpresoras |
Grid | grd | grdCantidades |
Horizontal Scroll Bar | hsb | hsbColor |
Image | img | imgBitMap |
Label | lbl | lblAyuda |
Line | lin | linSeleccionado |
List Box | lst | lstCodigoColor |
Menu | mnu | mnuAbrirArchivo |
Option Button | opt | optNegritaBold |
Picture Box | pic | picMemoria |
Shape | shp | shpCuadrado |
Text Box | txt | txtEntrada |
Timer | tmr | tmrInciaAlarma |
Vertical Scroll Bar | vsb | vsbRango |
Nota: Los nombres de control son usados para hacer referencia a un especifico control de tiempo de ejecución, no se deben confundir con propiedades de control tales como text y caption.
La identación es usada para tener una mejor visibilidad en el diseño de un programa. La identación muestra las líneas que están subordinadas a otras líneas. Por ejemplo, todas las líneas que forman el cuerpo de un ciclo deberán estar identadas con la instrucción principal del ciclo. En el siguiente ejemplo se muestra una estructura anidada (una dentro de otra). Cualquier cosa dentro de este primer ciclo FOR (num_semana) es identada y de la misma manera cualquier cosa dentro del segundo ciclo (num_dia) es identado también. Otra vez cada comando CASE es identado entre el contenido Select Case y End Select.
For num_semana = 1 To 52 Print "Semana #"; num_semana For num_dia = 1 To 7 Select Case num_dia Case 1 Print "Domingo" Case 2 Print "Lunes" Case 3 Print "Martes" Case 4 Print "Miércoles" Case 5 Print "Jueves" Case 6 Print "Viernes" Case 7 Print "Sábado" End Select Next num_dia Next num_semana
Las líneas en blanco pueden también ser identadas entre las líneas de código para romper un procedimiento y hacerlo en pequeños bloques de código.
Las complicadas e inusuales secciones de código de berán ser documentadas. Idealmente cada variable y arreglo deberá tener comentarios donde se definan tal que su función pueda ser entendida despues. Hay dos formas de documentar código en VB, la declaración REM que puede ser usado en líneas separadas y el ' (apóstrofe) seguido por el texto de comentario. El ' le dice a VB que ignore todas la palabras que estan enseguida hasta el fin de la línea.
Ejemplo:
Dim obejas As Integer Almacena el número de obejas de cara negra
Ejemplo:
Rem Centra la forma. frmCurrent.Left = (Screen.Width / 2) - (frmCurrent.Width / 2) frmCurrent.Top = (Screen.Height / 2) - (frmCurrent.Height / 2)
Cada procedimiento deberá ser diseñado para una tarea simple.Si un procedimiento maneja muchas tareas, es lógico que pueda ser dificíl de entender y pueda ocurrir facilmente un error.
Pasar un parámetro es una buena práctica de programación, pero muchos parámentros y el código pueden llegar a ser muy difíciles de manejar. Los procedieminetos con muchos prámetros son altamente acoplables, ellos tienen muchas ligas o otros procedimientos. Hasta donde sea posible se deben minimizar éstas ligas. !Sin embargo las variables globales no deberán ser usadas en lugar de ellas ¡.
Las variables y los arreglos pueden se accesados por código en diferentes partes de un programa, desde cualquier lugar si son Globales. Esto es lo ideal, pero sin no hay cuidado algunos efectos extraños pueden ocurrir en otras partes del programa, como colocando un valor en una variable por error. Restringuiendo el rango de acceso, o el alcance de una variable o un arreglo se puede evitar este problema. Un alcance intermedio es el acceso necesario para una variable durante todo el simple módulo. Esto significa que cualquier procedimiento en el módulo puede accesar la variable, pero los procedimientos en otros módulos tienen acceso denegado.