Costumo ouvir o termo "esboço", "esboço algo", "esboço" e assim por diante.
O que significa stubbing na programação e de onde vem a palavra? Em que contextos ele pode ser usado?
Costumo ouvir o termo "esboço", "esboço algo", "esboço" e assim por diante.
O que significa stubbing na programação e de onde vem a palavra? Em que contextos ele pode ser usado?
Respostas:
Um método stub é um método que apenas retorna um resultado simples, mas válido (embora não necessariamente correto).
Eles geralmente são feitos ao criar a infraestrutura e você não deseja gastar tempo com todos os métodos necessários no momento. Em vez disso, você cria stubs para que tudo seja compilado e o preenchimento automático do IDE saiba sobre os métodos que você planeja usar.
Outro lugar em que os stubs são usados é a zombaria durante o teste. Você fornece métodos de stub em vez da dependência normal através da injeção de dependência, que retorna resultados fixos e garante que o código faça a coisa certa com eles. Isso isola o teste do código que você está tentando testar e significa que você não precisa gerar um banco de dados apenas para executar esses testes.
fonte
Talvez isso seja melhor respondido com um exemplo concreto. Vamos considerar o caso em que você está criando um aplicativo de desktop. Você decidiu ter uma função nomeada e
createMenubar
, assim, seu construtor de aplicativos é limpo e arrumado.createToolbar
createMain
Seu código principal será mais ou menos assim (este exemplo está em python):
Até que você tenha tudo funcionando, sua função principal falhará. Como você pode testar seu aplicativo durante o desenvolvimento? Por exemplo, se você começar a trabalhar
createMenubar
, a inicialização falhará após criar a barra de menus, pois você não implementou a barra de ferramentas ou a área principal da GUI.É aí que entram os stubs. Você pode criar uma função nomeada
createToolbar
ecreateMain
que atenda aos requisitos do construtor de aplicativos (a saber, que essas funções existem), sem ter que implementá-las. Essas funções são stubs:Com esses stubs no lugar, você pode começar a implementar o programa principal e a barra de menus, sem ter que se preocupar com os detalhes da barra de ferramentas ou da parte principal do programa. Eventualmente, você passará para a barra de ferramentas e substituirá o stub pela função real. E, finalmente, você removerá o stub
createMain
e dará uma implementação real.Observe que os stubs não precisam necessariamente fazer nada. Esses stub podem, por exemplo, criar um widget de contêiner vazio que o construtor do aplicativo pode criar. O ponto é que você cria funções ou objetos fictícios que fazem apenas o suficiente para permitir que seu outro código seja executado enquanto você o desenvolve. Com o tempo, você substitui os stubs um por um até que seu aplicativo seja concluído.
fonte
Um "esboço" é usado na programação "de cima para baixo". É quando você está construindo seu aplicativo do geral para o específico. Ao fazer isso, você usará "stubs" como "espaços reservados" para aplicativos específicos que você não teve tempo de criar. Eles geralmente retornam itens como valores fictícios ou aleatórios para a parte mais geral do programa. Tudo bem, o stub alimenta um valor suficiente para fazer a parte mais "sênior" do programa funcionar. Até que seja hora de o stub ser substituído ou ajustado com seu verdadeiro cálculo ou valor.
fonte