Para ser justo, ele acrescentou "Divertido" a essa afirmação.
Até hoje, começo a modelar sistemas usando a abordagem "substantivo e verbo", mas, ao longo dos anos, descobri que o TDD nos ensina que essa abordagem chama sua atenção para a coisa errada. Nesse sentido, o blogueiro tem razão. No entanto, não tenho certeza de que seja a abordagem errada, e não o modo como nossas mentes funcionam.
Se você quiser tentar um pequeno desafio aqui, pare de ler e tente modelar o jogo Monopoly, usando o idioma inglês, e volte aqui.
Suspeito que a tentação será olhar imediatamente para os objetos com os quais interagimos muito - o tabuleiro, os espaços, as cartas, os dados, as peças - mas não é para lá que vai a maior parte da lógica. A maioria desses objetos é totalmente burra. Dados, se você quiser.
Mas assim que você começa a escrever testes, percebe qual objeto é de longe o mais importante em qualquer jogo: as regras.
Lembra-se daquele pequeno pedaço de papel que você leu uma vez no jogo e não interage novamente até que haja uma disputa? A versão computadorizada não funciona dessa maneira. Cada coisa que o jogador tenta fazer, um computador consulta as regras e verifica se é permitido ou não fazer isso.
Quando você pensa sobre isso, você faz a mesma coisa, mas como leva tempo para ler as regras em papel e seu cérebro possui um sistema de armazenamento em cache razoável, você consulta as regras em sua cabeça. Um computador provavelmente achará tão fácil ler as regras novamente - a menos que elas estejam armazenadas no banco de dados; nesse caso, elas também poderão ser armazenadas em cache.
E é por isso que o TDD é tão popular na condução do design. Porque ele tende a direcionar seu processo de pensamento rapidamente para os lugares certos:
Quando penso que vou escrever alguns testes para o meu jogo de monopólio. Eu posso olhar para o meu aparelho e tentar encontrar os objetos. Então, nós temos essas peças. Vou escrever alguns testes para eles.
Talvez eu tenha uma classe base MonopolyPiece e cada tipo de peça derivará delas. Vou começar com o DogPiece. Primeiro teste ... ahh. Na verdade, não há lógica aqui. Sim, cada peça será desenhada de maneira diferente, por isso posso precisar de um DogDrawer, mas enquanto estou desenvolvendo o jogo, só quero escrever "D" na tela. Vou apimentar a interface do usuário no final.
Vamos encontrar alguma lógica real para testar. Existem muitas casas e hotéis, mas eles não precisam de testes. Dinheiro não. Cartões de propriedade, não. E assim por diante. Até a placa nada mais é do que uma máquina de estado, não contém nenhuma lógica.
Você descobrirá rapidamente que ainda tem três coisas em sua mão. As cartas Chance e Community Chest, um par de dados e um conjunto de regras. Essas serão as partes importantes para projetar e testar.
Você viu isso chegando quando escreveu os substantivos e verbos?
De fato, há um ótimo exemplo nos Padrões e Práticas de Princípios Ágeis de Robert Martin, em que eles tentam desenvolver um aplicativo Bowling Score Card usando TDD e encontram todo tipo de coisas que pensavam que eram classes óbvias, que simplesmente não valiam a pena se preocupar.