domingo, 15 de marzo de 2015

Lineas de codigo

·

Métricas de Tamaño


Todos los programas comparten un atributo, independientemente del lenguaje, área de aplicación, método de diseño usado, calidad de su documentación, etc. Todos ellos tienen un tamaño.

El tamaño es importante, pues es fácil calcularlo después de finalizado el programa; es el factor más importante para muchos modelos, y la productividad normalmente se basa en mediciones de tamaño (más adelante se verá que esto último no es muy razonable). Las mediciones de tamaño más importantes son las líneas de código, el número de tokens, y el número de funciones.



Líneas de Código (lines of code o LOC)

Una definición aceptable de línea de código, pero no standard, es la siguiente:
"...toda línea de un programa que no es un comentario, o línea en blanco, independientemente del número de instrucciones o fragmentos de instrucciones en ella. Esto incluye específicamente las líneas de encabezamiento de un programa, declaraciones, e instrucciones ejecutables y no ejecutables."

La siguiente figura presenta un programa con 14 líneas de código (LOC=14)

Una subrutina FORTRAN que ordena un arreglo en orden ascendente



El principal problema asociado a la métrica líneas de código es que no todas las líneas son equivalentes en su dificultad de codificación. La siguiente métrica toma esto en cuenta.

Número de Tokens

Un programa computacional es un conjunto de tokens(unidades clasificables como operandos u operadores). Las cuatro métricas básicas asociadas son:

h1 = número de operadores únicos

h2 = número de operandos únicos

N1 = número total de operadores

N2 = número total de operandos

N = N1+ N2= largo (es el tamaño del programa)

En términos generales, cualquier símbolo o palabra reservada que especifica una acción se considera un operador, mientras un símbolo usado para representar datos es considerado un operando. La mayoría de los símbolos de puntuación son considerados operadores. Variables, constantes y labels se consideran operandos.
Operadores son los símbolos matemáticos ( +, -, /, etc. ), nombres de comandos
(while, for, read), símbolos especiales ( :=, ( ), [ ], { }, etc. ) y nombres de funciones
especiales (EOF, EOL).
La tabla siguiente muestra la contabilización de tokens para el programa de
la sección anterior (subrutina SORT)

Un análisis de tokens de la subrutina SORT

Las reglas para la contabilización dependen del lenguaje, y las ambigüedades ocurren con frecuencia. Por ejemplo, el operador “-” puede significar en Pascal dos cosas distintas: un operador unario (negación) o un operador binario (sustracción). ¿Se cuenta como uno o dos operadores únicos? ¿o
como dos ocurrencias del mismo operador? Otras medición es el vocabulario: h = h1 + h2

Una familia de métricas conocida como la Ciencia del Software (o Software Science) fue propuesta por M. Halstead en 1977, y se basa en los métricas de tokens básicas enunciadas anteriormente. Dicha familia de métricas se discute más adelante.



0 comentarios:

Publicar un comentario