Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/05/2006, 23:27
frijolerou
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
Duda sobre documentación de código

Qué tal gentes!!!!!

Tengo una duda respecto a documentar un código que recurre a la estrategia de divide y vencerás. Voy a utilizar un ejemplo bastante burdo e infantil, pero me sirve para lo que quiero preguntar.

Supongamos que tengo un script para fabricar un teclado de computador, en donde todas las acciones están contenidas en un único método principal:

Código:
function fabricarTeclado(){
    Bloque de codigo para fabricar las teclas;
    Bloque de código para fabricar el armazón;
    Bloque de codigo para fabricar los cables de conexión;
    Bloque de codigo para unir todas las piezas;
}
Si aplico la técnica divide y vencerás podría llegar a esto (y aprovecho de documentar brevemente cada una de las funciones, exepto la principal fabricarTeclado):

Código:
function fabricarTeclado(){
    teclas = fabricarTeclas();
    armazon = fabricarArmazon();
    cables = fabricarCables();
    teclado = armarTeclado(teclas, armazon, cables);
    imprimir teclado;
}

// Rutina: fabricarTeclas()
// Objetivo: Fabricar todas las teclas del teclado
// Devuelve: El grupo de teclas fabricadas
function fabricarTeclas(){
    Bloque de codigo para fabricar teclas;
    return teclas;
}

// Rutina: fabricarArmazon()
// Objetivo: Fabricar el cuerpo base del teclado
// Devuelve: El cuerpo base fabricado
function fabricarArmazon(){
    Bloque de codigo para fabricar armazon;
    return armazon;
}

// Rutina: fabricarCables()
// Objetivo: Fabricar los cables de conexion para el teclado
// Devuelve: El grupo de cables fabricados
function fabricarCables(){
    Bloque de codigo para fabricarlos cables;
    return armazon;
}

// Rutina: armarTeclado()
// Objetivo: Armar el teclado uniendo todas las piezas que se le entregan
// Devuelve: El teclado armado
function armarTeclado(teclas, armazon, cables){
    Bloque de codigo para unir las piezas;
    return teclado;
}
En fin, las acciones del método principal fueron separadas en diversos metodos segun sus caracteristicas. Y cada uno de estos métodos fue documentado entrgeando una breve descripción de qué es lo que hace.

Mi pregunta es: ¿en el caso del método principal -fabricarTeclado()- cómo tendría que describirlo considerando que está compuesto por varias sub-rutinas y que c/u de ellas ya ha sido documentada describiendo lo que hacen?

Perdón si la pregunta es un tanto burra, pero fue el único ejemplo que se me ocurrió
__________________
El conocimiento es libre: Movimiento por la Devolución