Programación estruturada

De MediaWiki
Ir a la navegación Ir a la búsqueda

Durante as primeiras décadas de existencia da programación de ordenadores, era habitual que os programadores estiveran máis preocupados por conseguir unha solución viable e funcional que por lograr o que o hoxe chamaríamos calidade no software.

A solución de problemas mediante programas abordábase como un proceso no que o programador ía encadeando as instrucións que o achegaban a un resultado válido, sen poñer esforzo algún en que o código resultante fose doado de entender e modificar.

E mentres os problemas a resolver foron de escasa complexidade, esta aproximación funcionou. Pero coas continuas mellorar do hardware e a estensión do software a todo tipo de ámbitos, fíxose preciso elaborar novas formas de traballo para superar as dificultades de xestionar código cada vez máis complexo.

A programación estruturada é un xeito de abordar a creación de programas imperativos tratando de reducir a complexidade do proceso para facelo máis eficaz e menos propenso a erros. A idea, proposta inicialmente por dous matemáticos ([Corrado Böhm e Guiseppe Jacopini][1]), consiste en que calquera programa de ordenador pode ser construído utilizando unicamente tres tipos de estruturas ou bloques: a secuencia, a decisión e os bucles. Calquera programa poderase dividir en subrutinas ou módulos compostos deses elementos básicos, mantendo así unha organización clara. Desaconséllase ademais o uso de variables globais para recomendar a utilización de variables locais a cada un dos bloques, sempre que sexa posible.

As avantaxes desta aproximación poderían resumirse en que:

  • Redúcese a complexidade de cada un dos problemas a resolver.
  • Prodúcese un fluxo de control claro, doado de entender.
  • Mellórase a productividade ao permitir a diferentes programadores colaborar en diferentes partes do mesmo proxecto.
  • Os módulos producidos poderanse reutilizar no mesmo ou en distintos proxectos, aforrando tempo, reducindo a complexidade e incrementando a fiabilidade.
  • Facilítase a corrección ou adaptación do software ao ser posible substituir módulos individuais en vez de ter que modificar grandes cantidades de código.
  • Elimínanse os saltos arbitrarios no fluxo do programa, que fan máis difícil de manipular o código.