Em muitos casos precisamos dar manutenção em sistemas que foram desenvolvidos por outros programadores. Nestes casos, sempre que necessária uma correção, precisamos fazer um trabalho de rastreamento do problema, varrendo todo o código do resultado até encontrar a origem. Este trabalho pode se tornar bastante complicado quando temos várias subrotinas envolvidas.
Solução:
Para reduzirmos este problema é indicada a distribuição do código em módulos, devemos agrupar as rotinas e nomear os módulos de acordo com suas funcionalidades. Formulários, worksheets, etc devem ser encarados como sendo apenas a interface com o usuário, claro que algum código precisa ser inserido nestes, mas o mínimo possível. Toda a regra de negócio deve estar contida nos módulos. Assim tornamos mais fácil a vida de quem precisa identificar a origem de um problema ou incluir uma nova funcionalidade ao nosso sistema.
Como exemplo temos um sistema desenvolvido em MS Excel 2007. O sistema faz o registro do atendimento de clientes e a indicação de empresas parceiras para o atendimento, a indicação é feita através do envio de um e-mail ao cliente com a relação de parceiros. Nele temos 6 módulos:
mdlCallBacks: Nele temos as chamadas de ação do Ribbon, chamadas de Callbacks.
mdlEmail: Todas as rotinas relacionadas ao envio de e-mail
mdlFunctions: Funções genéricas como a funcAbrirArquivo(), que serve para chamar um caixa de diálogo para abrir os arquivos que serão importados.
mdlImportar: Todas as rotinas de importação dos arquivos.
mdlMenu: Todas as chamadas do menu principal do sistema.
mdlPesquisa: Rotina de pesquisa de parceiros por cidade e CEP.
Dessa forma, conseguimos encontrar facilmente a origem de um erro caso a pesquisa retornasse um valor indesejado, ou ocorresse um erro ao enviar o e-mail, ou mesmo se um botão do menu não funcionasse.