Зараз я працюю над програмним проектом, який виконує стиснення та індексацію кадрів із відеоспостереження. Стиснення працює шляхом розбиття фонових та переднього плану, а потім збереження фону як статичного зображення, а переднього плану - як спрайту.
Нещодавно я приступив до перегляду деяких класів, які я призначив для проекту.
Я помітив, що існує багато класів, які мають лише єдиний публічний метод. Деякі з цих класів:
- VideoCompressor (з
compress
методом, який приймає вхідне відео типуRawVideo
та повертає вихідне відео типуCompressedVideo
). - VideoSplitter (з
split
методом, який приймає вхідне відео типуRawVideo
та повертає вектор із 2 вихідних відео, кожен із типівRawVideo
). - VideoIndexer (з
index
методом, який приймає вхідне відео типуRawVideo
та повертає відеоіндекс типуVideoIndex
).
Я вважаю себе інстанцірованія кожного класу тільки здійснювати дзвінки , як VideoCompressor.compress(...)
, VideoSplitter.split(...)
, VideoIndexer.index(...)
.
На перший погляд, я думаю, що назви класів достатньо описують призначену функцію, і вони насправді є іменниками. Відповідно їх методами є також дієслова.
Це насправді проблема?