Posts com a Tag ‘classes’

JavaServer Faces Technology – Técnica demais para o designer, visual demais para o desenvolvedor

Neste artigo:

O desenvolvimento web orientado a componentes vem ganhando espaço na comunidade Java e a especificação JavaServer Faces Technology tem sido muito discutida. A pergunta que se faz é: quanto a JSF é produtiva no mundo real do desenvolvimento de software?

Tags / Palavras-Chaves:
JavaServer Faces Technology, frameworks, paper prototyping, interface, desenvolvimento

O desenvolvimento web orientado a componentes vem ganhando espaço na comunidade Java, vide RichFaces, Facelets, IceFaces, MyFaces, ADF, Seam, etc. Aqui, irei resumir tudo isso à JSF – JavaServer Faces Technology. A especificação JSF e todas as consequências e discussões que ela traz junto estão em alta nos fóruns. Mas a pergunta importante que devemos fazer é: o quanto isso tudo é produtivo no mundo real do desenvolvimento de software?

Pensando em sistemas de interface web, sempre vi o desenvolvedor como a figura responsável por codificar a inteligência desse sistema, e o web designer responsável pela identidade visual. Porém, quando trabalhamos com JSF, as decisões de interface estão na mão do desenvolvedor, pois ele é quem conhece os componentes de interface possíveis de serem utilizados.

Pesquisando sobre o assunto, encontrei o post  Utilizando AJAX com JSF de maneira eficiente, onde podemos observer um código “HTML“. O curioso é que a única tag HTML utilizada no exemplo é a <body>, as demais são tags do JSF, que normalmente o web designer não conhece.

E o que isso implica para a produtividade no processo de desenvolvimento? Como trabalhar o desenvolvedor e o designer em conjunto, neste modelo?

Leia o restante deste post »

 

Melhorando a qualidade e a testabilidade de um sistema com técnicas para quebra de dependências

Neste artigo:

Técnicas como refactoring, Test-Driven Development e Design Emergent, e design patterns apropriados podem evitar um projeto ruim. Mas como melhorar a testabilidade de sistemas que não foram implementados dessa forma?

Tags / Palavras-Chaves:
teste de software, qualidade de software, refactoring, refatorações, desenvolvimento

Em código de sistemas legados (e mesmo os que não deveriam ser tão legados assim!) encontramos módulos, classes ou métodos muito acoplados entre si, difíceis de serem testados unitariamente. Como os grandes papas do desenvolvimento de software explicam, esse tipo de dificuldade de testar possui forte ligação com um design ou arquitetura ruim. Portanto: Código com alto nível de testabilidade é código bem projetado. E, código difícil de testar é mal projetado. Usando técnicas (como Refactoring, Test-Driven Development e Design Emergente) e design patterns apropriados é possível evitar um projeto ruim. Mas, como melhorar a testabilidade de classes orientadas a objeto que não foram implementadas dessa forma? Para isso podemos usar algumas técnicas e refatorações (refactorings) apropriados. Isso facilitará os testes unitários de classes críticas de seu sistema e ainda, por tabela, melhorará o design de parte de seu sistema. Leia o restante deste post »