Mostrando postagens com marcador Philosophy. Mostrar todas as postagens
Mostrando postagens com marcador Philosophy. Mostrar todas as postagens

terça-feira, 11 de dezembro de 2012

Manifesto for Software Craftsmanship

Raising the bar! Sign it today!

As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value:

Not only working software,
       but also well-crafted software

Not only responding to change,
       but also steadily adding value

Not only individuals and interactions,
       but also a community of professionals

Not only customer collaboration,
       but also productive partnerships

That is, in pursuit of the items on the left we have found the items on the right to be indispensable.

© 2009, the undersigned.
this statement may be freely copied in any form,
but only in its entirety through this notice.

segunda-feira, 10 de dezembro de 2012

A Importância dos Testes de Software

Testar ajuda no entendimento do código:

Normalmente quando começamos a trabalhar num projeto que já está em andamento, não temos idéia do como as coisas funcionam. Às vezes o projeto já tem vários meses de vida e o novo time precisa dar continuidade. Sem os testes unitários e/ou aceitação o tempo para entender como cada parte funciona seria bem maior.

Testar elimina suposições falsas

Quando aprendemos algo novo, suposições são naturalmente feitas. Contudo quando não há entendimento completo do que algo faz, fazemos suposições, quais podem custar muito tempo. Quando nos deparamos com um problema, validamos todas as suposições.

Escrever algumas linhas de código não sai caro e pode de grande utilidade para aumentar a confiança. Grandes problemas pelos quais passamos são causados por coisas pequenas, geralmente, por conta de suposições falsas.

É importante ter segurança

Para cada teste escrito, um pouco mais de segurança é obtida. Se não temos certeza do que um método faz, escrevemos um teste: algumas linhas de código e muitas dores de cabeça serão evitadas no futuro.

"Nada é tão simples que não mereça ser testado". Escreva testes unitários até que você tenha segurança sobre o entendimento o problema.

Testes podem ser utilizados como exemplo para outras pessoas

Testar se mostra ainda mais benéfico quando estamos trabalhando em time. Cada teste é um exemplo prático de como o código deve ser utilizado. Testes servem como exemplos e são de fácil entendimento.

Ao testar o código que você está escrevendo, você não apenas ajuda a si mesmo, mas, poupa muito tempo das pessoas que vão mantê-lo no futuro.

Até a próxima! =]