tbody tag tabla name example table-driven

table driven - tag - ¿Qué son los métodos basados ​​en tabla?



td name (3)

¿Qué son los métodos basados ​​en tablas como lo menciona Bill Gates en el comercial de Vista en http://www.youtube.com/watch?v=gBWPf1BWtkw?


Un método basado en tablas es bastante simple. Use estructuras de datos en lugar de declaraciones if-then para conducir la lógica del programa. Por ejemplo, si está procesando dos tipos de registros (televisión o cable), puede hacer esto:

hash[tv] = process_tv_records hash[cable] = process_cable_records

En algunos idiomas, como Ruby o Perl, esta técnica es sencilla. En Java, necesitaría usar Reflection para encontrar los identificadores de método.

Si desea obtener información sobre las tablas de decisiones, investigue el marco de prueba de Fitnesse en http://fitnesse.org/ .


El video al que se hace referencia tiene a Bill Gates leyendo del libro Code Complete de Steve McConnell. Jeff Atwood lo mencionó en su blog (los enlaces de YouTube coinciden).

De Code Complete, 2da edición:

Un método basado en tablas es un esquema que le permite buscar información en una tabla en lugar de usar declaraciones lógicas ( si y caso ) para resolverlo.

McConnell usa una matriz como su "tabla" en sus ejemplos, pero creo que el concepto se puede aplicar a tablas de bases de datos o cualquier otra cosa que sea similar a una tabla.

El concepto se explica mejor a través de un ejemplo.

Supongamos que dirige un restaurante y tiene una cantidad diferente de asientos para cada número de mesa.

Su lógica para obtener el número de asientos para una mesa en particular podría parecerse a

if table number == 1 table has 4 seats else if table number == 2 table has 8 seats . . .

así que si tienes 50 mesas, tendrías 100 líneas de código solo para determinar el número de asientos.

Con los métodos basados ​​en tablas, podría hacer una matriz con el índice que representa el número de la tabla y el valor que representa la cantidad de asientos, por lo que su lógica se vería más bien como

tables [] = {4, 8, 2, 4, ...} table seats = tables[table number]

que es más simple, más corto y más fácil de mantener.


Los métodos basados ​​en tablas son esquemas que le permiten buscar información en una tabla en lugar de usar sentencias lógicas (es decir, caso, si). En casos simples, es más rápido y fácil usar declaraciones lógicas, pero a medida que la cadena lógica se vuelve más compleja, el código controlado por tablas es más simple que la lógica complicada, más fácil de modificar y más eficiente.

Referencia: McConnell, Steve. Código completo, segunda edición. Redmond (Washington): Microsoft, 2004. Imprimir. Página 411, Párrafo 1.