Cursos / Jogos Digitais / Programação Estruturada / Aula
Olá, caro aluno!
Um dos pontos mais importantes da Programação Estruturada é a Modularização, ou seja, a capacidade de dividir o programa em partes distintas que desempenham tarefas específicas e que podem ser combinadas para resolver problemas mais complexos. Isto é essencial, pois scripts complexos podem ter centenas e, até mesmo, milhares de linhas.
Por esse motivo, aprendendo a programar de forma modularizada, você dará um grande salto em produtividade, pois a modularização nos permite escrever programas mais legíveis, mais fáceis de manter e reusar e, muitas vezes, com melhor desempenho.
Vamos entender melhor esse conceito?
Olhando para o slide (Figura 1), imagine se tivéssemos dois programas, o programa roxo claro e o programa roxo escuro.
Agora, imagine que esses programas repetem três trechos de códigos bastante complexos, no slide (Figura 2), os trechos amarelo, azul e rosa.
Note que, dessa maneira, precisaremos reescrever ou, no melhor dos casos, se conseguirmos identificar que os trechos de código desempenham o mesmo papel, copiar e colar esses trechos de código de um programa para o outro. Para entender o que cada programa faz, você precisará entender, separadamente, o que esses trechos de código fazem. Ou seja, é necessário que você entenda os trechos de código dentro de seus respectivos contextos.
Além disso, qualquer manutenção ou correção que precisar ser feita em um desses trechos de código, deverá ser realizada nas duas cópias. Claramente, isso está longe do ideal.
A melhor maneira de desenvolver um grande programa é construí-lo a partir de pequenas partes, as quais chamaremos de módulos. Essa técnica é chamada de “dividir para conquistar”, estratégia utilizada há muitos anos em ambientes de guerra. Uma grande vantagem dessa técnica é que a nossa atenção será focada em dividir um problema grande e complexo em problemas menores e mais simples, e depois resolver cada um deles separadamente. No final, ao resolvermos todos os problemas menores, combinamos as pequenas soluções em uma solução maior que resolve o problema originalmente grande e complexo. Percebeu qual será nossa estratégia?
É aqui (Figura 3) que se encaixa perfeitamente o conceito de modularização. Usando esse conceito, teríamos uma única cópia desses trechos de código em módulos e os programas fariam, de alguma maneira, uso de tais módulos.
A modularização permite que cada módulo do programa seja escrito, testado e revisado individualmente, sem alterar o funcionamento do programa como um todo. E essa é uma grande vantagem quando desenvolvemos sistemas grandes e complexos. Os programadores poderão desenvolver e testar os módulos separadamente, permitindo, inclusive, encontrar e solucionar erros sem que todos os módulos estejam completamente prontos. Além disso, os módulos podem também ser reusados separadamente por vários outros programas.
A técnica da modularização também permite o trabalho em equipe, no qual vários desenvolvedores se dividem e cada um fica responsável por um módulo, havendo, dessa forma, economia de tempo na construção dos programas.
Em JavaScript, a modularização é feita geralmente através da criação e do uso de funções, as quais são consideradas a essência da Programação Estruturada, pois são estruturas de código que permitem que o usuário organize seus programas em partes menores e mais simples.
Como as funções desempenham o papel de módulos, quando as utilizamos, trazemos todas as vantagens dos módulos já descritas para o programador. Se elas não existissem, os programas seriam mais complexos, com bastante duplicação de código etc. De fato, isso ocorria nas primeiras linguagens de programação. Era uma tarefa difícil detectar e corrigir os erros lógicos e de sintaxe da linguagem. Sempre que possível, se faz necessária a divisão do código, a fim de que não sejam construídos códigos extensos e de difícil entendimento e manutenção. Essa é uma das principais regras das boas práticas de programação.
Também é necessário compreendermos que a maioria das linguagens de programação disponibiliza um conjunto de módulos prontos aos programadores, úteis por reunirem de uma maneira organizada e concisa funções testadas de uso mais comum (como funções matemáticas, por exemplo). Esses módulos são as chamadas bibliotecas. Ao longo desta disciplina, usaremos várias dessas funções já prontas de JavaScript, como nas aulas de manipulação de Strings e de Datas.
Na próxima videoaula, veremos, na prática, como podemos usar funções para modularizar os nossos programas. Até lá!
Versão 5.3 - Todos os Direitos reservados