আমি বর্তমানে একটি সফ্টওয়্যার প্রকল্পে কাজ করছি যা ভিডিও নজরদারি ফুটেজে সংক্ষেপণ এবং ইনডেক্সিং করে। সংক্ষিপ্তকরণ ব্যাকগ্রাউন্ড এবং সম্মুখভূমি অবজেক্টগুলিকে বিভক্ত করে কাজ করে, তারপর স্থির চিত্র হিসাবে পটভূমি এবং স্প্রাইট হিসাবে অগ্রভাগে সংরক্ষণ করে।
সম্প্রতি, আমি প্রকল্পের জন্য যে নকশাগুলি তৈরি করেছি তার কয়েকটি পর্যালোচনা শুরু করেছি।
আমি লক্ষ করেছি যে এখানে অনেকগুলি ক্লাস রয়েছে যেখানে কেবল একটি একক পাবলিক পদ্ধতি রয়েছে। এই শ্রেণীর কয়েকটি:
- ভিডিওকম্প্রেসর (এমন একটি
compressপদ্ধতির সাথে যা টাইপের একটি ইনপুট ভিডিও গ্রহণ করেRawVideoএবং টাইপের আউটপুট ভিডিও দেয়CompressedVideo)। - ভিডিওস্প্লিটার (এমন একটি
splitপদ্ধতির সাথে যা টাইপের একটি ইনপুট ভিডিও গ্রহণ করেRawVideoএবং প্রতিটি ধরণের 2 আউটপুট ভিডিওর ভেক্টরকে ফেরত দেয়RawVideo)। - VideoIndexer (এমন একটি
indexপদ্ধতির সাথে যা টাইপের একটি ইনপুট ভিডিও গ্রহণ করেRawVideoএবং টাইপের একটি ভিডিও সূচক প্রদান করেVideoIndex)।
আমি নিজেকে প্রতিটি বর্গ শুরু করতে গিয়ে ঠিক কল করার জন্য এটি VideoCompressor.compress(...), VideoSplitter.split(...), VideoIndexer.index(...)।
পৃষ্ঠতলে, আমি মনে করি শ্রেণীর নামগুলি তাদের উদ্দেশ্যকৃত ফাংশনটির যথেষ্ট বর্ণনামূলক এবং এগুলি আসলে বিশেষ্য। অনুসারে, তাদের পদ্ধতিগুলিও ক্রিয়াপদ।
আসলেই কি এই সমস্যা?