একটি ভাল নামকরণের কনভেনশনটি কোনও প্রদত্ত চলক, শ্রেণি, পদ্ধতি বা ফাংশনের জন্য আপনি ব্যবহার করতে পারেন এমন সম্ভাব্য নাম সংখ্যা কমিয়ে আনতে হবে। যদি কেবলমাত্র একটি সম্ভাব্য নাম থাকে তবে এটির মনে রাখতে কখনই আপনার সমস্যা হবে না।
ফাংশনগুলির জন্য এবং সিঙ্গলটন ক্লাসগুলির জন্য, আমি ফাংশনটির মূল ফাংশনটি রূপান্তর করতে হবে কিনা তা যাচাই করে দেখছি এক ধরণের জিনিসকে অন্য ধরণের জিনিস হিসাবে । আমি সেই শব্দটি খুব শিথিলভাবে ব্যবহার করছি, তবে আপনি আবিষ্কার করতে পারবেন যে আপনি যে বিশাল আকারের ফাংশন লিখেছেন তা মূলত একটি ফর্মের মধ্যে কিছু নিয়ে অন্য কিছু আকারে তৈরি করে।
আপনার ক্ষেত্রে দেখে মনে হচ্ছে আপনার ক্লাসটি একটি ডকুমেন্টে একটি url রূপান্তর করে । এটি সেভাবে ভাবতে কিছুটা অদ্ভুত, তবে পুরোপুরি সঠিক এবং আপনি যখন এই প্যাটার্নটি সন্ধান শুরু করেন, আপনি এটি সর্বত্র দেখতে পাবেন।
আমি যখন এই প্যাটার্নটি পাই, আমি সর্বদা এক্স From
y এর ফাংশনটির নাম রাখি ।
যেহেতু আপনার ফাংশন একটি ডকুমেন্টে একটি url রূপান্তরিত করে , আমি এটির নাম দেব
DocumentFromUrl
এই প্যাটার্নটি উল্লেখযোগ্যভাবে সাধারণ। উদাহরণ স্বরূপ:
atoi -> IntFromString
GetWindowWidth -> WidthInPixelsFromHwnd // or DxFromWnd if you like Hungarian
CreateProcess -> ProcessFromCommandLine
আপনি UrlToDocument
যদি এই অর্ডারে বেশি স্বাচ্ছন্দ্য বোধ করেন তবে আপনিও ব্যবহার করতে পারেন। আপনি x From
y বা y To
x বলছেন তা সম্ভবত স্বাদের বিষয়, তবে আমি ক্রমটিকে অগ্রাধিকার দেব From
কারণ ফাংশন নামের শুরুটি ইতিমধ্যে আপনাকে বলে দেয় এটি কী টাইপ দেয়।
একটি কনভেনশন চয়ন করুন এবং এটি আটকে দিন। আপনি যদি আপনার x From
y ফাংশনে আপনার শ্রেণীর নামগুলির মতো একই নামগুলি ব্যবহার করতে সাবধান হন তবে আপনি কোন নামটি ব্যবহার করেছেন তা মনে রাখা খুব সহজ হবে। অবশ্যই, এই প্যাটার্নটি সমস্ত কিছুর জন্য কাজ করে না, তবে যেখানে আপনি কোড লিখছেন সেখানে কাজ করে যা "ফাংশনাল" হিসাবে ভাবা যেতে পারে।