Retornando com mais um conceito neste post curto. Desta vez, falarei sobre o Command-Query Separation (CQS), princípio proposto por Bertrand Meyer. Este princípio diz que um método pode ser um comando ou uma query, mas nunca ambos. Um comando é um método que altera o estado do objeto que o define, não retornando nenhum valor:... Continuar Lendo →
Se não está quebrado, não conserte. Certeza?
Li há alguns dias o capítulo 5 do livro do Uncle Bob "Agile Principles, Patterns and Practices in C#" e resolvi, neste pequeno post, compartilhar com vocês 2 parágrafos do início do capítulo. São coisas nas quais eu acredito demais. Abaixo, segue a tradução, com pequenas adaptações: "Cada módulo de um software tem 3 funções:... Continuar Lendo →
Design Ágil: salve seu software do apodrecimento
Neste post falarei sobre design de software, passando pelos principais design smells e discutindo sobre o que ocasiona o apodrecimento do código. Finalizo mostrando uma luz no fim do túnel, com o processo de design ágil. Para começar, o que é design de software? Dando uma "googlada", vamos encontrar várias definições que se assemelham com... Continuar Lendo →
Conhecendo Design Patterns e o padrão Strategy
Nest post falarei um pouco sobre design patterns, algo que existe há décadas, muitas universidades ignoram e consequentemente poucos desenvolvedores sabem o que são ou sabem utilizar na prática. Eu mesmo comecei a estudar sobre o assunto há uns 2 anos e, aos poucos, fui começando a entender e a aplicar alguns dos padrões mais... Continuar Lendo →
Mais conceito e menos drag-and-drop
O assunto da vez é: PODD - Programação Orientada a Drag-and-Drop. Tal "metodologia" consiste basicamente em montar uma tela arrastando de uma paleta de componentes uma série de controles, como botões, textboxes, dropdowns, grids e tantos outros até mais avançados. Com poucas linhas de código (ou simplesmente sem NENHUMA) é possível fazer um CRUD rapidamente... Continuar Lendo →