¿Existe un término para el código no implementado que fue escrito para que alguien más lo complete?

91

A veces, en un ejercicio de programación, generación repetitiva, colocación de guías sobre las tareas que debe implementar un programador junior, etc., sucede que al programador se le presenta un código no implementado y se le dice que "complete el espacio en blanco". Por ejemplo, una prueba unitaria que puede compilarse, pero falla, o una declaración de clase con métodos vacíos.

¿Existe un término común para esta práctica?

Brandon Arnold
fuente
No es exactamente lo que estás preguntando, pero está relacionado. Si también hay scripts de prueba en el lugar que muestran lo que se espera que haga su código, entonces se conoce como Test Driven Development.
AJFaraday
32
Para quien haya votado para cerrar: claro, "nombrar esta cosa" podría no ser una pregunta especialmente interesante . Sin embargo, esta pregunta tiene una respuesta objetiva que no se basa principalmente en la opinión. Como prueba, presento mi respuesta a continuación.
3
Yo diría "Terrible práctica de codificación".
Eufórico
77
NotImplementedException :)
Reinstale Monica
3
El "ejercicio para el lector" parece ser el enfoque de los libros de texto si habla de manejo de errores.
Phil Lello

Respuestas:

177

Te refieres a un trozo o esqueleto :

Talón

Este es típicamente un método o función con un cuerpo casi vacío que simplemente devuelve un valor ficticio para que el código se compile.

Esqueleto

Este es un método que tiene un algoritmo de alto nivel implementado, pero las partes individuales no se implementan. Pueden ser bloques de código vacíos o métodos de código auxiliar de referencia (ver arriba) que eventualmente realizarán subtareas. Esta es una buena manera de expresar un diseño de software para un programador junior que puede tener dificultades con el esfuerzo de diseño más grande, o para asegurarse de tener el algoritmo correcto antes de invertir demasiado tiempo en los detalles de bajo nivel.


La práctica de usar estos elementos de código se llamaría tropezar o crear un esqueleto de código .


fuente
3
Aunque me gustan más sus términos, creo que el término "andamiaje" en Ruby on Rails es el mismo concepto.
descorche
También pensé que trozo era la palabra correcta para esto, pero no estaba seguro porque estaba siendo rechazado por otros en mi trabajo. Gracias.
Brandon Arnold
Es un "trozo" si se hace en un contexto académico. Hecho en un contexto profesional / comercial, es "deuda técnica".
Aroth
10
@aroth no es una deuda técnica si el código no funciona, debe implementarse. La deuda técnica implica un código mal escrito que termina siendo utilizado en un entorno de producción, lo que significa que requiere un esfuerzo significativo para refactorizar correctamente. Un trozo idealmente tendría un caso de prueba fallido, por lo que debe implementarse y probarse antes de soltarse en la producción.
2
@BrandonArnold: Al hablar con tus universidades, debes usar palabras que entiendan. A menos que seas el jefe.
Stig Hemmer
42

He visto usar el término " trozo ".

Por ejemplo, creo que Eclipse inserta automáticamente un comentario

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

en sus infames autogenerados, bueno, trozos.

También tenga en cuenta el uso del término "trozo" en el contexto de las pruebas unitarias .

5gon12eder
fuente
2
"// TODO: Trozo de método generado automáticamente", creo.
user253751
Definitivamente útil para saber esto. . .
Brandon Arnold
17

En Visual Studio, al escribir código intellisense le dará la opción "generar un nuevo código auxiliar de método". Cuando elige esta opción, Visual Studio generará un código auxiliar / esqueleto de código exactamente como lo ha descrito.

Microsoft se refiere a esto como un trozo, por lo que también llamaría a estos trozos.

Fisgonear
fuente