ฉันกำลังทำงานในโครงการซอฟต์แวร์ที่ทำการบีบอัดและจัดทำดัชนีวิดีโอคลิปการเฝ้าระวังวิดีโอ การบีบอัดทำงานโดยการแยกพื้นหลังและวัตถุเบื้องหน้าจากนั้นให้บันทึกพื้นหลังเป็นภาพนิ่งและส่วนหน้าเป็นสไปรต์
เมื่อเร็ว ๆ นี้ฉันได้เริ่มต้นการทบทวนบางคลาสที่ฉันออกแบบมาสำหรับโครงการ
ฉันสังเกตเห็นว่ามีหลายคลาสที่มีวิธีการสาธารณะเพียงครั้งเดียวเท่านั้น บางส่วนของชั้นเรียนเหล่านี้คือ:
- VideoCompressor (ด้วย
compress
วิธีการที่ใช้ในวิดีโออินพุตประเภทRawVideo
และส่งกลับวิดีโอประเภทเอาต์พุตCompressedVideo
) - VideoSplitter (ด้วย
split
วิธีที่ใช้ในอินพุตวิดีโอประเภทRawVideo
และส่งคืนเวกเตอร์ของวิดีโอเอาต์พุต 2 ชนิดแต่ละประเภทRawVideo
) - VideoIndexer (ด้วย
index
วิธีที่ใช้ในวิดีโออินพุตประเภทRawVideo
และส่งกลับดัชนีวิดีโอประเภทVideoIndex
)
ฉันพบตัวเอง instantiating แต่ละชั้นเรียนเพียงเพื่อให้สายเช่นVideoCompressor.compress(...)
, ,VideoSplitter.split(...)
VideoIndexer.index(...)
บนพื้นผิวฉันคิดว่าชื่อชั้นเรียนมีความหมายเพียงพอของฟังก์ชั่นที่ตั้งใจไว้และเป็นคำนามจริง ๆ ตามลําดับวิธีการของพวกเขายังเป็นคำกริยา
ปัญหานี้จริงหรือ