Existe um termo para código não implementado que foi escrito para outra pessoa preencher?

91

Às vezes, em um exercício de programação, geração de clichês, colocando trilhos de guia em torno das tarefas para um programador júnior implementar, etc., acontece que o programador recebe um código não implementado e é solicitado a "preencher o espaço em branco". Por exemplo, um teste de unidade que pode compilar, mas falha, ou uma declaração de classe com métodos vazios.

Existe um termo comum para essa prática?

    
por Brandon Arnold 08.03.2016 / 23:42
fonte

3 respostas

177

Você está se referindo a um esboço ou esqueleto :

Stub

Este é tipicamente um método ou função com um corpo quase vazio que simplesmente retorna um valor fictício para que o código seja compilado.

Esqueleto

Este é um método que possui um algoritmo de alto nível implementado, mas partes individuais são deixadas não implementadas. Eles podem ser blocos de código vazios ou métodos de stub de referência (veja acima) que eventualmente executarão subtarefas. Esta é uma boa maneira de expressar um design de software para um programador júnior que pode ter dificuldades com o esforço de design maior ou para garantir que você tenha o algoritmo correto antes de investir muito tempo nos detalhes de baixo nível.

A prática de usar esses elementos de código seria chamada stubbing ou criando um esqueleto de código .

    
por 08.03.2016 / 23:55
fonte
42

Eu vi o termo " stub " sendo usado.

Por exemplo, acredito que o Eclipse insere automaticamente um comentário

String getName() {
    // TODO: Auto-generated method stub
    return null;
}

em seus infames autogerados, bem, stubs.

Observe também o uso do termo "stub" no contexto do teste de unidade .

    
por 08.03.2016 / 23:55
fonte
17

No Visual Studio, ao escrever código intellisense, você terá a opção "gerar um novo stub de método". Quando você escolhe essa opção, o Visual Studio gera um esboço / esqueleto de código exatamente como você descreveu.

A Microsoft se refere a isso como um esboço, então eu também chamaria esses stubs.

    
por 09.03.2016 / 05:05
fonte