quinta-feira, 21 de julho de 2005

OO ou não OO...eis a questão...

Dia desses foi levantada a questão: até que ponto é melhor programar OO (Orientado a Objetos)? Muitas vezes essa discussão leva os dois lados envolvidos às vias de fato. Como diriam os americanos, bullshit (ow algo parecido hehehe). O lance é que cada coisa tem sua aplicação. Eu particularmente, acho o código OO mais elgante e legível...e também de mais fácil manutenção. Mas não como negar que programar estruturado é beeeem mais fácil, não é verdade?
No trabalho, até pouco tempo usava um "estruturado-simbiótico-com-OO". O que é este termo que acabei de inventar? Simples. A gente programa estruturado (primeiro ponto é que não existem classes...=P), mas a gente modulariza e separa o código o máximo possível. Não existe mais de uma função por arquivo e uma função faz somente uma função. Pra manutenção é ótimo....e não temos as burocracias dos encapsulamentos de metodos e atributos...E tudo pode ser modelado usando princípios de OO e a UML (pra mim a melhor metodologia pra modelar...que o meu amigo agaro não leia isto hehehe).
Porém, o tempo passa, a gente vai querendo inventar moda e vai mudando algumas coisas...meus próximos projetos pretendo que sejam mais OO do estruturado... Deixa o código mais bonito e é uma ótima oportunidade para colocar em prática vários conceitos que estou aprendendo em uma linguagem puramente OO - o python (muito bom, depois conto minhas experiências com ele aqui =P). Será que vale a pena usar OO em php? Conheço muita gente boa que usa... e muita gente boa que não usa. O grande Zaca (grande mesmo...) me mandou um texto dia desses que tenta nos convencer que usar OO em script é besteira...Ele mesmo já se convenceu disso. Será?
O ganho de performance realmente não existe.... Mas, pelos fatores citados acima (legibilidade, elegância e, principalmente, os padrões mais bem definidos e seguidos por quem programa OO) têm que ser levado em consideração. Quando eu falo de ganho de performance é tanto do programa quanto do tempo de desenvolvimento. Lembrando que, mesmo programando estruturado, nossa equipe de desenovolvimento tem o mesmo desempenho de qualquer equipe OO que eu tenha notícia. E os programas são fáceis de se manter...E então? Usar ou não usar não é a questão. Aplicar os conceitos de OO onde eles podem ser melhor aplicados é que é o X do problema.
(o texto que o zaca me mandou pode ser lido no livro A Biblia do PHP 5 + MySQL)

Nenhum comentário: