Atenção: esse artigo tem um vídeo complementar. Clique e assista!
Boas Práticas com C# e .NET Framework - Parte 2
Boas Práticas com C# e .NET Framework - Parte 3
O artigo demonstra padrões e práticas que, quando bem utilizados, ajudam o desenvolvedor da plataforma .NET a ter um melhor resultado em seus projetos podendo aumentar a produtividade. Estas práticas envolvem conceitos da programação orientada a objetos, dicas de pequenos passos a serem adotados para a melhoria do código escrito.
Em que situação o tema é útil
As boas práticas são importantes em todos os projetos em que se deseja ter facilidade para fazer sua manutenção e principalmente, tornar este código compreensível por outros programadores que por acaso venham a ter contato com este. Também auxiliam o programador a obter os melhores resultados em um tempo menor, pois a própria organização dos elementos do código acaba facilitando o trabalho. Deve se considerar sua aplicação ao começar um projeto novo ou aplicar melhorias em um projeto existente.
Boas Práticas com C# e .NET Framework
Existem muitas ferramentas para os programadores atualmente e eventualmente, eles podem perder o foco principal do trabalho. Por outro lado, o ditado “Acelere a Entrega” é mal interpretado e faz com que aspectos importantes – como o fato de que o código vai ter de ser alterado – sejam negligenciados. O artigo expõe uma revisão sobre os conceitos de orientação a objetos, passando pelos princípios intrínsecos no acrônimo SOLID. Serão apresentadas diversas dicas e orientações em relação ao .NET Framework. O conhecimento e emprego de boas práticas que envolvem desde a maneira como se estrutura o código até os processos que são usados para garantir sua qualidade devem ser encarados como mais um tipo de recurso à disposição do programador.
O .NET Framework e a linguagem C# oferecem recursos para aumentar a produtividade no processo de criação de aplicações e facilitar a sua manutenção. Por outro lado, tantos recursos podem tirar o foco do desenvolvedor quer seja pela quantidade e incapacidade em gerenciar tanta informação, quer seja pela facilidade em distrair do real objetivo.
As boas práticas envolvem a correta aplicação dos conceitos das linguagens de orientação a objeto linguagens estas que incluem o C#. Não raro é muito comum usar a ferramenta certa para fazer as coisas da maneira errada. Um exemplo bem claro é quando um código começa a ficar muito extenso e uma classe começa a perder sua clareza tentando prover mais funcionalidades do que é realmente necessário.
Não estão envolvidas apenas mudanças na maneira que se escreve o código, tais como a nomenclatura dos elementos envolvidos e que também serão tratados, mas mudança de atitudes e da maneira como se pensa no código.
Entre os princípios que podem ajudar o programador estão aqueles conhecidos pelo acrônimo de S.O.L.I.D. e que serão revistos brevemente no artigo. Estes conceitos têm sido vastamente explorados e devem constar obrigatoriamente em qualquer texto que fale sobre boas práticas.
Revendo conceitos da orientação a objetos
Durante a evolução das linguagens de programação o fato mais importante foi o surgimento das linguagens orientadas a objetos. Inicialmente representadas por linguagens como Smalltalk e C++, novas linguagens foram sendo criadas aderindo ao padrão.
Mesmo linguagens tradicionalmente estruturadas como o Pascal aderiram à novidade o que fez com que muitos programadores mais experientes dessem os seus primeiros passos no mundo da orientação a objetos (ou Object-Oriented Programming, ou ainda apenas OOP).
Logo apareceram linguagens como o Java e o C#, herdeiras das primeiras que popularizaram mais ainda a OOP principalmente pelo grande número de recursos que possuem e pela facilidade com que podem ser estendidas.
De início, o ponto principal de uma linguagem orientada a objetos é a estruturação dos dados e das funções do programa em torno de classes, que, como sabemos são os modelos para representações de objetos. Os objetos são entendidos como modelos de elementos do mundo real e expressos nas linguagens de forma a facilitar a manipulação dos dados, entretanto, de uma maneira direta, são variáveis que instanciam endereços de memória onde são armazenados, de forma organizada, dados como números e texto e que possuem código relacionado com os mesmos (métodos) para manipular estes dados.
O uso de linguagens de programação baseia-se em ir dividindo o problema em partes cada vez menores até atingir um ponto em que se possa, se possível, usar uma simples operação para começar a resolvê-lo. Praticamente quase tudo pode ser desmembrado em partes mais simples e as classes são um exemplo. Podemos definir o mínimo de estruturas de uma classe através de interfaces.
...