Guía para un código legible, comprensible y mantenible.
publicado
Hola,
hace poco digitalboy (a quien aprovecho para expresar mi admiración y respeto), compartió con nosotros el Zen de Python:
Hermoso es mejor que feo.
Explícito es mejor que implícito.
Simple es mejor que complejo.
Complejo es mejor que complicado.
Plano es mejor que anidado.
Disperso es mejor que denso.
La legibilidad cuenta.
Los casos especiales no son suficientemente especiales como para romper las reglas.
Aunque lo pragmático gana a la pureza.
Esta serie de principios resulta relevante para cualquier lenguaje de programación, incluido VBA.
Cada quien tiene su forma de hacer las cosas. Como todos, supongo, he ido cambiando mi forma de escribir código a medida que voy aprendiendo cosas nuevas. Comparto con ustedes algunas ideas de lo que actualmente considero deben ser algunos parámetros básicos para escribir buen código.
Por lo general, considero que un buen código es aquel que:
Hace lo que tiene que hacer.
lo hace rápido
es legible, comprensible y mantenible.
El último punto es fundamental (quizás incluso más que los demás) y es en la que me quiero enfocar (y es lo que está subyacente en el Zen de Python): Un buen código debe ser legible, comprensible y mantenible.
Escribir cada declaración de variable en una línea con su correspondiente tipo de datos con la forma
Dim variabla1 as Tipo1
Dim variabl2 as Tipo2[/CODE]
y no
[CODE]dim x, y, z[/CODE]
hace el código mucho más [b]legible[/b] y es una buena práctica que se recomienda casi que en toda guía de estilo que uno encuentra para VBA.
El uso de caracteres de declaración de tipo, al estilo
[CODE]dim a$, b&[/CODE]
se considera obsoleto (se mantiene por compatibilidad con Basic pero su uso es desaconsejado ya que oscurece el código, no está de acuerdo con la forma de declarar datos en VBA y no abarca todos los tipos de datos).
Considero importante usar espacios entre líneas, distinguiendo bloques de código relacionado, lo que hace el código más legible.
Esto último hace el código menos legible y veo que frecuentemente se usa quizás con la intensión de transmitir la ilusión de un código más breve.
Por último, las márgenes (sangrías – indentation -) son fundamentales para la legibilidad de un buen código.
Haciendo el código más legible, damos un paso para hacerlo más [b]comprensible[/b]. Sin embargo, usar nombres de variables descriptivos ayuda a mejorar aún más la comprensión del código.
Esto:
[CODE]Dim a, b: b = 1
For a = 1 To 10: Cells(a, = 1: Next[/CODE]
Es menos legible que
[CODE]Dim a As Integer
Dim b As Integer
a = 1
For a = 1 To 10
Cells(a, = 1
Next a[/CODE]
Pero esto último es menos comprensible que esto:
[CODE]Dim Fila As Integer
Dim Columna As Integer
Columna = 1
For Fila = 1 To 10
Cells(Fila, Columna) = 1
Next Fila[/CODE]
Que el código sea legible y comprensible ayuda a que sea [b]mantenible[/b]. Sin embargo, una parte fundamental para hacerlo comprensible y mantenible es documentar el código.
Bueno, solo son algunas ideas que comparto y me gustaría escuchar que opinan y qué guías tienen ustedes para escribir código legible, comprensible y mantenible.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Hola,
hace poco digitalboy (a quien aprovecho para expresar mi admiración y respeto), compartió con nosotros el Zen de Python:
Esta serie de principios resulta relevante para cualquier lenguaje de programación, incluido VBA.
Cada quien tiene su forma de hacer las cosas. Como todos, supongo, he ido cambiando mi forma de escribir código a medida que voy aprendiendo cosas nuevas. Comparto con ustedes algunas ideas de lo que actualmente considero deben ser algunos parámetros básicos para escribir buen código.
Por lo general, considero que un buen código es aquel que:
El último punto es fundamental (quizás incluso más que los demás) y es en la que me quiero enfocar (y es lo que está subyacente en el Zen de Python): Un buen código debe ser legible, comprensible y mantenible.
Escribir cada declaración de variable en una línea con su correspondiente tipo de datos con la forma
y no
hace el código mucho más [b]legible[/b] y es una buena práctica que se recomienda casi que en toda guía de estilo que uno encuentra para VBA.
El uso de caracteres de declaración de tipo, al estilo
se considera obsoleto (se mantiene por compatibilidad con Basic pero su uso es desaconsejado ya que oscurece el código, no está de acuerdo con la forma de declarar datos en VBA y no abarca todos los tipos de datos).
Considero importante usar espacios entre líneas, distinguiendo bloques de código relacionado, lo que hace el código más legible.
Así mismo, cada instrucción debe ir en una línea
instrucción2
instrucción3[/CODE]
Evitando el uso de
Esto último hace el código menos legible y veo que frecuentemente se usa quizás con la intensión de transmitir la ilusión de un código más breve.
Por último, las márgenes (sangrías – indentation -) son fundamentales para la legibilidad de un buen código.
Haciendo el código más legible, damos un paso para hacerlo más [b]comprensible[/b]. Sin embargo, usar nombres de variables descriptivos ayuda a mejorar aún más la comprensión del código.
Esto:
For a = 1 To 10: Cells(a,
Es menos legible que
Dim b As Integer
a = 1
For a = 1 To 10
Cells(a,
Next a[/CODE]
Pero esto último es menos comprensible que esto:
Dim Columna As Integer
Columna = 1
For Fila = 1 To 10
Cells(Fila, Columna) = 1
Next Fila[/CODE]
Que el código sea legible y comprensible ayuda a que sea [b]mantenible[/b]. Sin embargo, una parte fundamental para hacerlo comprensible y mantenible es documentar el código.
Bueno, solo son algunas ideas que comparto y me gustaría escuchar que opinan y qué guías tienen ustedes para escribir código legible, comprensible y mantenible.