যে ভাষাগুলিতে একটি "উত্স" এবং "শিরোনাম" ফাইলের মধ্যে পার্থক্য রয়েছে (প্রধানত সি এবং সি ++), শিরোনাম ফাইলটিতে ফাংশনগুলি নথিভুক্ত করা আরও ভাল:
/**
* time_now - return the current time
*
* Example:
* printf("Now is %lu seconds since epoch\n", (long)time_now().tv_sec);
*/
struct timeval time_now(void);
না সোর্স ফাইলে?
(পোস্টগ্রিজ এসকিউএল থেকে চালিত)
/*
* Convert a UTF-8 character to a Unicode code point.
* This is a one-character version of pg_utf2wchar_with_len.
*
* No error checks here, c must point to a long-enough string.
*/
pg_wchar
utf8_to_unicode(const unsigned char *c)
{
...
নোট করুন যে কিছু জিনিস কেবল শিরোনামে সংজ্ঞায়িত করা হয় যেমন স্ট্রাক্টস, ম্যাক্রোস এবং static inline
ফাংশনগুলি। আমি কেবল সেই বিষয়গুলি নিয়েই বলছি যা একটি শিরোনাম ফাইলে ঘোষিত হয় এবং উত্স ফাইলে সংজ্ঞায়িত হয়।
এখানে আমি কিছু যুক্তি যা ভাবতে পারি। আমি উত্স ফাইলটিতে নথির দিকে ঝুঁকছি, সুতরাং আমার "প্রো-হেডার" যুক্তিগুলি কিছুটা দুর্বল হতে পারে।
প্রো-শিরোলেখ:
- ডকুমেন্টেশন দেখতে ব্যবহারকারীর উত্স কোডের প্রয়োজন নেই।
- উত্সটি অর্জন করা অসুবিধাজনক এমনকি অসম্ভবও হতে পারে।
- এটি ইন্টারফেস এবং বাস্তবায়নকে আরও পৃথক করে রাখে।
প্রো-উৎস:
- এটি শিরোনামকে আরও খাটো করে তোলে, পাঠককে সামগ্রিকভাবে মডিউলটির পাখি-দর্শন দেয়।
- এটি কোনও ফাংশনের ডকুমেন্টেশনটিকে এর বাস্তবায়নের সাথে যুক্ত করে, এটি সহজেই দেখতে দেয় যে কোনও ফাংশন এটি যা বলে তা যা করে তা করে।
উত্তর দেওয়ার সময়, কী কী সরঞ্জাম এবং "আধুনিক আইডিই" করতে পারে তার উপর ভিত্তি করে যুক্তি থেকে সাবধান থাকুন। উদাহরণ:
- প্রো-শিরোনাম: কোড ফোল্ডিং মন্তব্যগুলি লুকিয়ে রেখে মন্তব্য করা শিরোনামকে আরও নাব্য করে তুলতে সহায়তা করতে পারে।
- প্রো-উৎস: cscope এর
Find this global definition
বৈশিষ্ট্য সোর্স ফাইল (যেখানে প্রদর্শিত হয় সংজ্ঞা হয়) বরং হেডার ফাইল (যেখানে ঘোষণা যায়)।
আমি বলছি না যে এই জাতীয় যুক্তি দেবেন না, তবে মনে রাখবেন যে আপনি যে সরঞ্জামগুলি ব্যবহার করছেন তার সাথে সকলেই স্বাচ্ছন্দ্যবোধ করেন না।