Actualmente estoy trabajando en un proyecto de software que realiza la compresión y la indexación de las secuencias de video vigilancia. La compresión funciona dividiendo los objetos de fondo y de primer plano, luego guardando el fondo como una imagen estática y el primer plano como un sprite.
Recientemente, me he embarcado en revisar algunas de las clases que he diseñado para el proyecto.
Noté que hay muchas clases que solo tienen un único método público. Algunas de estas clases son:
- VideoCompressor (con un método
compress
que toma un video de entrada de tipoRawVideo
y devuelve un video de salida de tipoCompressedVideo
). - VideoSplitter (con un método
split
que toma un video de entrada de tipoRawVideo
y devuelve un vector de 2 videos de salida, cada uno de tipoRawVideo
). - VideoIndexer (con un método
index
que toma un video de entrada de tipoRawVideo
y devuelve un índice de video de tipoVideoIndex
).
Me encuentro creando instancias de cada clase solo para hacer llamadas como VideoCompressor.compress(...)
, VideoSplitter.split(...)
, VideoIndexer.index(...)
.
En la superficie, creo que los nombres de clase son lo suficientemente descriptivos de su función deseada, y en realidad son sustantivos. En correspondencia, sus métodos también son verbos.
¿Es esto realmente un problema?