:: Topo :: doCoding :: Projectos Tutoriais ::

Tutorial TDD-WinFormApp

Introdução

Decidir aprender um pouco de C#, através de um tutorial do Cory Foy que aplica TDD ao desenvolvimento de uma mini-aplicação:

My father-in-law runs a small business doing appliance repair and needed a way to track the calls he goes on. The app is pretty straightforward:
  • A customer entry piece for entering the name, address and phone number of customers he visits (and a way to search for a customer)
  • An invoice piece to enter the work he does for a customer
  • A basic reporting piece to show a list of the customers that haven't paid yet
Oftentimes in the course of showing Test Driven Development, we resort to things like the bowling game to show the basic concepts. I thought it would be fun to document the building of the application using TDD since it uses two things that are commonly cited as being very difficult to TDD - WinForms and Databases.

Objectivo

Principal

Obter mais experiência de codificação em C#.

Secundários

  1. Obter mais experiência de codificação no IDE SharpDevelop.
  2. Obter mais experiência de codificação aplicando a metodologia TDD.
  3. Demonstrar que TDD pode-se aplicar no desenvolvimento de aplicação com UI - UserInterface - e com bases de dados.

Pressupostos

  1. É preciso uma máquina a correr Windows 2000 ou superior.
  2. .NET Framework 2.0, com FxCop.
  3. SharpDevelop v2.2.1 build 2648. Este IDE já tem integrado o NUnit e o NCover.
  4. Subversion v1.4.6.
  5. TortoiseSVN v1.4.7.
  6. Apache v2.0.61, para permitir o acesso ao repositório via WebDAV.

Iterações

Conclusões

Pros

Gostei muito de seguir este Tutorial.

Aprendi mais do que estava à espera, e já estava à espera de bastante: C#, TDD, NUnit, MVP, diferenças entre .NET Framework e Mono no #Developer, etc.

Além de ter começado a conhecer a linguagem C# também conheci o #Developer, e o seu “irmão” MonoDevelop. São bons IDEs, integrados com o Subversion - a big plus - e consegui percorrer o Tutorial sem ser necessário usar o Visual Studio (Express Edition, claro).

Cons

Teria sido melhor, por cada iteração, gravar o passo red logo seguido do passo green e eventual passo de refactoring.

Os artigos ficariam mais beneficiados com um Syntax Highlighter para formatar o código, bem como de um pouco mais de atenção ao copy&paste entre o IDE e o Windows Live Writer que o Cory diz ter usado. Houve problemas de vírgulas, muito frequentes. E no meu caso, tive que alterar as ocorrências de Count() para Length.

 
docoding/tutorialprojects/tdd-winformapp.txt · Modificado em: 2008/01/28 23:25 (Edição externa)     Voltar ao topo