Olá galera, tudo certin? Esse post é uma confissão. Sim, resolvi começar esse post confessando minha arrogância – eu não escrevo testes sempre (Segundo o Giovanni Bassi, por isso, não deveria me considerar um dev sênior, e tenho coragem de dizer que sou arquiteto – que vergonha!); Mas a questão é: Por quê? Por que… [Read more…]
Design by Contract 101–parte 2–limpando o código
Olha nóis ai, outra vez? Como disse no primeiro post dessa nova série, comecei a aprender DbC por entender que preciso escrever um código mais sólido. Em poucas palavras, vi e entendi que a teoria do DbC faz todo o sentido e pode me ajudar a escrerver um código melhor. Ainda depois, descobri que… [Read more…]
Faça você mesmo o seu framework para Mocks e Proxies–Parte 9–Verificações
Olá pessoal. Tudo certin? Este é o 9o post da série sobre o desenvolvimento de um framework para mocks. Estou realmente orgulhoso do resultado. EasyMock ainda não está em estágio de produção, mas, como disse no último post, já está sendo suficiente para os testes que escrevo. Esta série começou como uma demonstração prática dos… [Read more…]
Aqui vamos nós, outra vez. Tudo certin? Olhando o código do EasyMock, percebi que negligenciei completamente algumas boas práticas de programação defensiva. Percebi que, embora validasse alguns parâmetros, muitas condições inválidas ainda podem ocorrer sem que uma excessão adequada seja lançada. Essa série começa mostrando as técnicas que pretendo adotar que nosso “pequeno” framework tenha… [Read more…]
Domain-Specific Languages no dia-a-dia
Como sabem, estou trabalhando – como projeto doméstico , nas horas vagas – em um Framework para Mocks. Honestamente, estou bastante orgulhoso dos resultados que estão sendo obtidos. Meu objetivo inicial, que era entender como um framework desse tipo funciona, já foi superado. Entre os pontos que destaco, está a interface fluente que foi desenvolvida.… [Read more…]
IL 101–Parte 9 (Boxing e Unboxing)
Recapitulando Essa série tem por objetivo os apresentar fundamentos da programação em Intermediate Language. O que já vimos até aqui foi: Parte 8: Construtores para ValueTypes e ReferenceTypes Parte 7: Atributos e propriedades Parte 6: Variáveis locais e loops Parte 5: Trabalhando com parâmetros Parte 4: Classes e namespaces Parte 3: Equilíbrio Performance e Memória… [Read more…]
Extension Methods, métodos e tipos anônimos, lambda expressions, dentre outras tecnologias permitem que escrevamos códigos menores, mais declarativos e mais assertivos. LINQ é expressão de todas essas melhorias, mas, ao meu ver, é apenas um demonstrativo das melhorias que podemos fazer em nossos códigos. É certo que linguagens mais novas – como F#, IronPython ou… [Read more…]
Functional Programming – Higher Order Functions
Olá pessoal. Tudo certin? Hoje estou mudando um pouco tom de meus posts. Não vou falar sobre Intermediate Language, Emitting, nem sobre o projeto para geração de Mocks. Hoje quero falar um pouco sobre Higher Order Functions. O que é são Higher Order Functions? Higher Order Functions é uma abordagem de programação funcional para escrita… [Read more…]
EasyMock agora está no codeplex
Está acompanhando Faça você mesmo o seu framework para Mocks e Proxies? Então, agora o projeto tem uma casa no codeplex. O código-fonte foi isolado e publicado em http://easymock.codeplex.com.
Faça você mesmo o seu framework para Mocks e Proxies–Parte 8
Olá pessoal. Tudo certin? Chegamos ao oitavo post da série sobre o desenvolvimento de um framework para proxies. Estou realmente orgulhoso do resultado. Embora EasyMock ainda não esteja em estágio de produção, já está sendo suficiente para os restes que escrevo. Esta série começou como uma demonstração prática dos princípios que mostro na outra série… [Read more…]
Compondo a execução do programa usando Expressions
Motivação Este post destaca outro aspecto técnico importante do framework para criação de objetos mock que estou apresentando em “Faça o seu framework para Mocks e Proxies”: empilhamento de ações usando Expressions. O cenário é o seguinte: De acordo com o contexto, desejamos “programar” a execução de algumas ações para determinado momento (geralmente a evocação… [Read more…]
Simplificando o IntelliSense para interfaces fluentes
Motivação Quanto do seu tempo é gasto na criação de Frameworks ou bibliotecas? Como diria Brad Abrams no ótimo Framework Design Guidelines, deve ser objetivo de todo programador tornar as “interfaces” de seu código simples de usar e aprender. Quanto mais intuitiva for a utilização de seu código, mais ele será adotado. Uma das melhores… [Read more…]
IL 101–Parte 8
Recapitulando Essa série tem por objetivo os apresentar fundamentos da programação em Intermediate Language. O que já vimos até aqui foi: Parte 7: Atributos e propriedades Parte 6: Variáveis locais e loops Parte 5: Trabalhando com parâmetros Parte 4: Classes e namespaces Parte 3: Equilíbrio Performance e Memória em IL Parte 2: Estrutura da máquina… [Read more…]
Faça você mesmo o seu framework para Mocks e Proxies–Parte 7
Recapitulando Essa série objetiva construir um framework simples para criação de mocks e proxies. O que já vimos até agora foi: Parte 6 – Suporte básico para propriedades Parte 5 – Suporte a callbacks e mocks para mais de um tipo Parte 4 – Parâmetros coringa; Parte 3 – Interface fluente para configuração do Mock;… [Read more…]
Faça você mesmo o seu framework para Mocks e Proxies–Parte 6
Recapitulando Essa série objetiva construir um framework simples para criação de mocks e proxies. O que já vimos até agora foi: Parte 5 – Suporte a callbacks e mocks para mais de um tipo Parte 4 – Parâmetros coringa; Parte 3 – Interface fluente para configuração do Mock; Parte 2 – Programação do comportamento do… [Read more…]
Faça você mesmo o seu framework para Mocks e Proxies–Parte 5
Recapitulando Essa série objetiva construir um framework simples para criação de mocks e proxies. O que já vimos até agora foi: Parte 4 – Parâmetros coringa; Parte 3 – Interface fluente para configuração do Mock; Parte 2 – Programação do comportamento do tipo dinâmico; Parte 1 – Criação de um tipo dinâmico, em tempo de… [Read more…]
IL 101–Parte 7
Recapitulando Essa série tem por objetivo os apresentar fundamentos da programação em Intermediate Language. O que já vimos até aqui foi: Parte 6: Variáveis locais e loops Parte 5: Trabalhando com parâmetros Parte 4: Classes e namespaces Parte 3: Equilíbrio Performance e Memória em IL Parte 2: Estrutura da máquina virtual IL Parte 1: Apresentando… [Read more…]
Faça você mesmo o seu framework para Mocks e Proxies–Parte 4
Recapitulando Essa série objetiva construir um framework simples para criação de mocks e proxies. O que já vimos até agora foi: Parte 3 – Interface fluente para configuração do Mock; Parte 2 – Programação do comportamento do tipo dinâmico; Parte 1 – Criação de um tipo dinâmico, em tempo de execução, partindo de uma interface.… [Read more…]
IL 101–Parte 6
Recapitulando Essa série tem o objetivo de apresentar os fundamentos da Intermediate Language. O que já vimos foi: Parte 5: Trabalhando com parâmetros Parte 4: Classes e Namespaces Parte 3: Equilíbrio Performance e Memória em IL Parte 2: Estrutura da máquina virtual IL Parte 1: Apresentando IL Sobre essa parte Nessa parte trabalharemos dois elementos… [Read more…]
IL 101–Parte 5
Recapitulando Essa série tem o objetivo de apresentar os fundamentos da Intermediate Language. O que já vimos foi: Parte 4: Classes e Namespaces Parte 3: Equilíbrio Performance e Memória em IL Parte 2: Estrutura da máquina virtual IL Parte 1: Apresentando IL Sobre essa parte Se você der uma “passada” nos posts anteriores, verá que… [Read more…]
agosto 31, 2010
9