Estilo de programación (también
llamado estándares de código o convención de código) es un término que describe
convenciones para escribir código fuente en ciertos lenguajes de programación.
FORTRAN
Hay muchos estilos diferentes de programación, pero se intentará dar
algunas guías generales que son de aceptación general.
Portabilidad
Para asegurar la portabilidad del código, se recomienda usar sólo el
estándar de Fortran 77. La única excepción que se ha hecho en este manual es
usar letras minúsculas.
Estructura del Programa
La estructura total del programa deberá ser modular. Cada subprograma
deberá resolver una tarea bien definida. Mucha gente prefiere escribir cada
subprograma en un archivo por separado.
Comentarios
Se repite lo que se había indicado previamente: Escriba código
legible, pero también agregue comentarios al código fuente para explicar lo que
se está haciendo. Es especialmente importante tener una buena cabecera para
cada subprograma que explique cada argumento de entrada/salida y que hace el
subprograma.
Sangrado
Se debe siempre usar el sangrado apropiado para bloques de ciclos y
sentencias if como se mostro en el tutorial.
Variables
Declarar siempre todas las variables. No se recomienda la declaración
implícita. Intentar compactar a 6 caracteres como máximo para nombres de
variables, o asegurarse que los primeros 6 caracteres son únicos.
Subprogramas
Nunca se debe permitir que las funciones tengan "efectos
laterales", por ejemplo no se deben cambiar los valores de los parámetros
de entrada. Usar subrutinas en tales casos.
En las declaraciones separar los parámetros, bloques comunes y
variables locales.
Minimizar el uso de bloques comunes.
Goto
Minimizar el uso de la sentencia goto. Desafortunadamente se requiere
usar goto en algunos ciclos, ya que el ciclo while no es estándar en Fortran.
Arreglos
En muchos casos es mejor declarar todos los arreglos grandes en el
programa principal y entonces pasarlos como argumentos a las distintas
subrutinas. De esta forma toda la asignación de espacio es hecha en un sólo
lugar. Recordar que se deben pasar también las dimensiones principales. Evitar
el innecesario "redimensionamiento de matrices".
Asuntos de Eficiencia
Cuando se tenga un ciclo doble que esta accediendo a un arreglo
bidimensional, es usualmente mejor tener el primer índice (renglón) dentro del
arreglo más interno. Lo anterior por el esquema de almacenamiento en Fortran.
Cuando se tengan sentencias if-then-elseif con condiciones múltiples,
intentar colocar primero aquellas condiciones que vayan a ser las más
frecuentes que ocurran.
C
No existen un conjunto de reglas fijas para programar con legibilidad,
ya que cada programador tiene su modo y sus manías y le gusta escribir de una
forma determinada. Lo que sí existen son un conjunto de reglas generales, que
aplicándolas, en mayor o menor medida, se consiguen programas bastante
legibles. Aquí intentaremos resumir estas reglas.
Identificadores significativos
Un identificador es un nombre asociado a un objeto de programa, que
puede ser una variable, función, constante, tipo de datos... El nombre de cada
identificador debe identificar lo más claramente posible al objeto que
identifica (valga la redundancia). Normalmente los identificadores deben
empezar por una letra, no pueden contener espacios (ni símbolos raros) y suelen
tener una longitud máxima que puede variar, pero que no debería superar los
10-20 caracteres para evitar lecturas muy pesadas.
Un identificador debe indicar lo más breve y claramente posible el
objeto al que referencia. Por ejemplo, si una variable contiene la nota de un
alumno de informática, la variable se puede llamar nota_informatica. Observe
que no ponemos los acentos, los cuales pueden dar problemas de compatibilidad
en algunos sistemas. El carácter '_' es muy usado para separar palabras en los
identificadores.
Constantes simbólicas
En un programa es muy normal usar constantes (numéricas, cadenas...).
Si estas constantes las usamos directamente en el programa, el programa
funcionará, pero es más recomendable usar constantes simbólicas, de forma que
las definimos al principio del programa y luego las usamos cuando haga falta.
Comentarios, comentarios...
El uso de comentarios en un programa escrito en un lenguaje de alto
nivel es una de las ventajas más importantes con respecto a los lenguajes
máquina, además de otras más obvias. Los comentarios sirven para aumentar la
claridad de un programa, ayudan para la documentación y bien utilizados nos
pueden ahorrar mucho tiempo.
No se debe abusar de comentarista, ya que esto puede causar una larga
y tediosa lectura del programa, pero en caso de duda es mejor poner comentarios
de más.
Estructura del programa
Un programa debe ser claro, estar bien organizado y que sea fácil de
leer y entender. Casi todos los lenguajes de programación son de formato libre,
de manera que los espacios no importan, y podemos organizar el código del
programa como más nos interese.
Para aumentar la claridad no se deben escribir líneas muy largas que
se salgan de la pantalla y funciones con muchas líneas de código (especialmente
la función principal). Una función demasiado grande demuestra, en general, una
programación descuidada y un análisis del problema poco estudiado. Se deberá,
en tal caso, dividir el bloque en varias llamadas a otras funciones más
simples, para que su lectura sea más agradable. En general se debe modularizar
siempre que se pueda, de forma que el programa principal llame a las funciones
más generales, y estas vayan llamando a otras, hasta llegar a las funciones
primitivas más simples. Esto sigue el principio de divide y vencerás, mediante
el cual es más fácil solucionar un problema dividiéndolo en subproblemas
(funciones) más simples.
Indentación o sangrado
La indentación o sangrado consiste en marginar hacia la derecha todas
las sentencias de una misma función o bloque, de forma que se vea rápidamente
cuales pertenecen al bloque y cuáles no. Algunos estudios indican que el
indentado debe hacerse con 2, 3 ó 4 espacios. Usar más espacios no aumenta la
claridad y puede originar que las líneas se salgan de la pantalla, complicando
su lectura.
La indentación es muy importante para que el lector/programador no
pierda la estructura del programa debido a los posibles anidamientos.
Presentación
Al hacer un programa debemos tener en cuenta quien o quienes van a
usarlo o pueden llegar a usarlo, de forma que el intercambio de información
entre dichos usuarios y el programa sea de la forma más cómoda, clara y eficaz
posible.
En general, se debe suponer que el usuario no es un experto en la
materia, por lo que se debe implementar un interfaz que sea fácil de usar y de
aprender, intuitivo y que permita efectuar la ejecución de la forma más rápida
posible.
JAVA
Para lograr la legibilidad de un programa es importante considerar
aspectos tales como el nombre de los identificadores, escribir el código con
cierta alineación y líneas en blanco en lugares apropiados así como realizar
una buena documentación.
Identificadores
Los identificadores deben ser elegidos de tal manera que el solo
nombre describa el uso que se dará dentro del programa, por tanto no es
recomendable usar identificadores de una letra, excepto en el for, ni
abreviaturas raras o ambiguas.
Además de eso es recomendable que se escriban:
Empezando con mayúscula si se trata del nombre de una clase o
interfaz, y empezando cada palabra en identificador con mayúscula.
CírculoColoreado
Sólo con mayúsculas si es el nombre de una constante. DIAS_HABILES
Empezando con minúscula si es el nombre de cualquier otro
identificador. De preferencia el nombre de cualquier método debe ser un verbo
en infinitivo y el de todo atributo un sustantivo. primerJugador,
asignarSueldo().
Archivos fuente
Cada programa en Java es una colección de uno o más archivos. El
programa ejecutable se obtiene compilando estos archivos. En cada archivo
especifica su contenido como sigue:
Los paquetes (instrucción package).
Los archivos de biblioteca (Instrucciones import).
Un comentario explicando el objetivo del archivo.
Las clases que defines en ese archivo.
Clases
Cada clase debe ir precedida por un comentario que explique su
objetivo. Es recomendable especificar sus elementos como sigue:
Estructura de los objetos. Primero las variables y luego las
constantes.
Elementos estáticos.
Constructores.
Métodos públicos y privados.
Métodos estáticos.
Clases internas.
Deja una línea en blanco después de cada método.
Todos los elementos deben estar precedidos por public, private o
protected. Las variables deben ser privadas. Los métodos y las constantes
pueden ser privados o públicos, según se requiera.
Métodos
Todo método excepto main debe empezar con un comentario en formato
javadoc
El cuerpo de un método no debe exceder 30 líneas de código. Esto te
obligará a dividir un método complejo en varios más sencillos.
Variables y Constantes
NO definas más de una variable por línea:
int horas = 0, minutos =
0; //Mal
es mejor:
int horas = 0,
minutos = 0;
Alineación y espacios en blanco
La alineación de instrucciones, se puede hacer de manera automática si
se emplea el editor emacs (es recomendable modificar los tabuladores para que
dejen sólo tres espacios en blanco).
Usa líneas en blanco para separar partes de un método que son
lógicamente distintas.
Este comentario ha sido eliminado por el autor.
ResponderBorrar