¿Qué significa el cubo?

17

Encontré en el código heredado una clase cuyo nombre es BucketService.

Como el inglés no es mi lengua materna, estaba tratando de traducir eso, pero no tiene sentido.

Encontré pocas terminaciones, como la clasificación de cubetas, etc., pero aún no lo entiendo. En realidad, esta palabra se usa con bastante frecuencia en la programación

Sería útil para una explicación simple de esa palabra

usuario278618
fuente
1
nunca juzgues a la clase por su nombre. ¿Qué API expone? que estado contiene ¿Cómo se usa / invoca / instancia? sin saber eso, la única respuesta correcta a una pregunta como la suya parece ser Mu
gnat
2
Particularmente con un nombre anónimo como "BucketService", suena como "UtilityManager" o "ThingDoer". Con un nombre vago como ese, su única opción es mirar el código. Por desgracia, las clases con nombres que vaga en general, hacer un poco de todo (o un mucho de todo, si usted tiene la mala suerte).
Tacroy

Respuestas:

36

Un balde en inglés es un dispositivo para retener agua.

Cuando se usa en software, normalmente significa un tipo de datos que agrupa objetos juntos.

El término se usa a menudo cuando se discuten algoritmos hash , donde diferentes elementos que tienen el mismo código hash (colisión hash) entran en el mismo "cubo". Es decir, los objetos están agrupados por el hash.

En general, una función hash puede asignar varias claves diferentes al mismo índice. Por lo tanto, cada ranura de una tabla hash está asociada (implícita o explícitamente) a un conjunto de registros, en lugar de un solo registro. Por esta razón, cada espacio de una tabla hash a menudo se denomina depósito, y los valores hash también se denominan índices de depósito.

Informalmente, he visto el término utilizado con diccionarios cuyo valor (no clave) es una colección de elementos.


Wikipedia tiene una página dedicada al término utilizado en informática: Bucket (Computing) :

En informática, el término cubo puede tener varios significados. Se utiliza como metáfora en vivo y como un término técnico generalmente aceptado en algunas áreas especializadas. Un depósito es más comúnmente un tipo de almacenamiento intermedio de datos o un tipo de documento en el que los datos se dividen en regiones.

Oded
fuente
66
+1 me ganaste! Me gustaría agregar que el propósito de los elementos de clasificación del algoritmo hash en cubos permite una recuperación y clasificación más rápida de grandes colecciones. Si quiero buscar 20 artículos para un artículo específico, entonces la forma ineficiente sería buscar uno a la vez por ID. Una mejor manera sería que una colección mantenga elementos con el mismo hash en un cubo , por lo que solo es necesario buscar algunos artículos en el cubo en lugar de la lista completa.
maple_shaft
@maple_shaft - Buen punto sobre el uso de cubos en hashing. Sin embargo, no pensé que fuera relevante para la pregunta :)
finalizado el
0

Quizás es una referencia al 'cubo de bits'. Ahí es donde los bits que se desplazan de un byte se desplazan a la izquierda y a la derecha.

Jon Strayer
fuente