Programação (II) - Modularização
Continuando a série sobre programação, vamos falar sobre modularização. Como dividir adequadamente um sistema? Qual a unidade ideal? Como quebrar funções? Como saber se um módulo está realmente bom? Esse artigo vai tentar responder algumas dessas questões e dar argumentos para pensarmos em muitas outras.
Introdução
"Será que essa função está realmente boa?"
Essa dúvida ocorre ocasionalmente na mente de todo programador, exceto talvez os que já perderam completamente o juízo... rsrsrs
A verdade é que muitos consideram que programar é arte. Sendo assim, como qualquer disciplina em estado-de-arte, a programação desafiaria as técnicas e padronizações, não existindo um critério único para definir qualidade. Quem pode dizer, por exemplo, se um quadro de van Gogh é melhor ou pior que um de Matisse? São pintores diferentes, com estilos diferentes. Não há melhor nem pior nesse caso, apenas o gosto pessoal de quem aprecia.
Acredito, porém, que a coisa não é bem assim. Há naturalmente questões de estilo a considerar, mas existem SIM critérios bem definidos para avaliar um bom programa de computador e para comparar qualidade entre programas. Um bom exemplo disso está nos programas Perl que incluí no primeiro artigo dessa série (Programação (I) - Planejamento e Otimização). Não há como negar que a última versão é mais eficiente que as duas primeiras, sendo que o estilo de ambas é similar.
Dito isso, vamos tentar então conhecer esses critérios!
Essa dúvida ocorre ocasionalmente na mente de todo programador, exceto talvez os que já perderam completamente o juízo... rsrsrs
A verdade é que muitos consideram que programar é arte. Sendo assim, como qualquer disciplina em estado-de-arte, a programação desafiaria as técnicas e padronizações, não existindo um critério único para definir qualidade. Quem pode dizer, por exemplo, se um quadro de van Gogh é melhor ou pior que um de Matisse? São pintores diferentes, com estilos diferentes. Não há melhor nem pior nesse caso, apenas o gosto pessoal de quem aprecia.
Acredito, porém, que a coisa não é bem assim. Há naturalmente questões de estilo a considerar, mas existem SIM critérios bem definidos para avaliar um bom programa de computador e para comparar qualidade entre programas. Um bom exemplo disso está nos programas Perl que incluí no primeiro artigo dessa série (Programação (I) - Planejamento e Otimização). Não há como negar que a última versão é mais eficiente que as duas primeiras, sendo que o estilo de ambas é similar.
Dito isso, vamos tentar então conhecer esses critérios!