sábado, 28 de março de 2009

Outras reflexões sobre aprofundar conhecimentos

Pelo o que vejo no analytics, percebo que o público chega até meus posts através dos buscadores que relacionam os posts a necessidade em questão. O público (vocês) vêm em maioria buscando a solução rápida para bugs ou um tutorial rápido sobre ajax com php e etc. Quando criei o blog não tinha o objetivo de oferecer orientação mais profunda sobre assuntos como tutoriais e demais. Meus relatos são todos referênciados ao meu cotidiano de desenvolvimento. Então, em muitos casos, não atendo a necessidade do leitor.

Mas como vi que cada vez mais pessoas estão "caindo" no blog, não custa nada dividir um pouco de conhecimento.

Comecei na área de desenvolvimento com o interesse em Flash. Depois desenvolvi com CSS e iniciei o aprendizado por conta própria sobre PHP e demais.

Muitas vezes bati a cabeça com bobeiras. No post anterior relatei exatamente a importância de possuir alguns conhecimentos técnicos e se preocupar em ler manuais e etc.

Muita gente que está iniciando o uso de CakePHP não possui conhecimento sobre Padrões de Software, GRASP. Não sabem o que é MVC, BCE. Muitos termos técnicos são lidos como uma palavra desconhecida, e não buscamos saber seu significado assim quando lemos um livro e não buscamos as palavras desconhecidas no dicionário. O que esquecemos é que esses pequenos detalhes podem nos travar no desenvolvimento e nos causar um sentimento de frustração.

Nos vídeos do Túlio Faria, ele ensina bem do início como usar o CakePHP. Ele diz como funciona a aplicação com seus Controllers e Models, onde cada arquivo deve ficar e etc. A questão é que não nos passa pela cabeça que Controller, Model entre outros estão relacionados a padrões. Decorrente disso vemos nos fóruns perguntas como "Devo ter um model/controller para cada página do site?".

Por desconhecer padrões, não enxergamos o que fazemos como uma aplicação, não enxergamos as camadas de desenvolvimento. O que ocorre é que o trabalho é executado com a visão de que se está construindo um site, a mesma visão que temos quando montamos um site estático ou sem padrões.

3 comentários:

Raphael de Almeida disse...

Realmente o conhecimento de certos conceitos básicos de engenharia de software ajuda muito o desenvolvedor.
Não só coisas que estão na moda, como Padrões de Projeto, mas também conceitos básicos como polimorfismo e até coesão.
Não que as pessoas não saibam, elas até sabem, porem esquecem no dia-a-dia, pois nunca entenderam verdadeiramente estes importantes conceitos.
Quer ser um desenvolvedor melhor, estude os conceitos!

Rodolfo disse...

Oi Maria!

Você escreve muito bem, parabéns.
Embora eu não vá muito com a cara do PHP, o Cake parece ser o framework mais badalado (desta linguagem)...

Ele possui ferramental para fazer testes?

Beijo,

Rodolfo

Angéllica Cardozo disse...

Olá Rodolfo!

Existe um "How to..." bem objetivo aqui: http://cakebaker.42dh.com/2007/03/23/how-to-use-the-official-cakephp-test-suite/

Também podemos encontrar informações mais detalhadas: http://bakery.cakephp.org/articles/view/testing-models-with-cakephp-1-2-test-suite

Existem outros frameworks, atualmente também trabalho com o YII