নীচে কিছু বিবৃতি বেশ ব্যক্তিগত, যদিও কিছু ন্যায্যতা সহ, এবং এই উপায় হতে বোঝানো হয়।
মন্তব্য প্রকার
সংক্ষিপ্ত সংস্করণের জন্য ... আমি এর জন্য মন্তব্যগুলি ব্যবহার করি:
- ডেটা স্ট্রাকচারে ক্ষেত্রগুলি ব্যাখ্যা করার মত মন্তব্যগুলি অনুসরণ করুন (সেগুলি বাদে, আমি সত্যই একক লাইন মন্তব্য ব্যবহার করি না)
- ব্লকগুলির উপরে ব্যতিক্রমী বা উদ্দেশ্য-ভিত্তিক বহু-লাইন মন্তব্য
- উত্স থেকে উত্পাদিত সর্বজনীন ব্যবহারকারী এবং / অথবা বিকাশকারী ডকুমেন্টেশন
বিশদ এবং (সম্ভবত অস্পষ্ট) কারণে নীচে পড়ুন।
পিছনে মন্তব্য
ভাষার উপর নির্ভর করে হয় সিঙ্গল-লাইনের মন্তব্য বা মাল্টি-লাইন মন্তব্য ব্যবহার করে। এটি নির্ভর করে কেন? এটি কেবল একটি মানীকরণের বিষয়। আমি যখন সি কোডটি লিখি, আমি পূর্বনির্ধারিত এএনএসআই সি 89 কোডটি ডিফল্টরূপে পছন্দ করি, তাই আমি সর্বদা থাকতে পছন্দ করি /* comments */
।
তাই আমার বেশিরভাগ সময় সিতে এটি থাকত এবং কখনও কখনও সি-জাতীয় সিনট্যাক্স সহ ভাষার জন্য (কোডবেজের স্টাইলের উপর নির্ভর করে):
typedef struct STRUCT_NAME {
int fieldA; /* aligned trailing comment */
int fieldBWithLongerName; /* aligned trailing comment */
} TYPE_NAME;
ইমাকস দুর্দান্ত এবং আমার সাথে এটি করে M-;
।
ভাষাটি যদি একক-লাইন মন্তব্যগুলিকে সমর্থন করে এবং সি-ভিত্তিক না হয়, তবে আমি একক-লাইন মন্তব্যগুলি ব্যবহার করতে আরও linedকৃত হব। অন্যথায়, আমি এখন অভ্যাসটি গ্রহণ করেছি ভয়ে ভীত। যা অগত্যা খারাপ নয়, কারণ এটি আমাকে সংক্ষিপ্ত হতে বাধ্য করে।
মাল্টি-লাইন মন্তব্য
আমি এর জন্য একক-লাইন মন্তব্যগুলি ব্যবহার করা আপনার ধারণার সাথে দ্বিমত পোষণ করছি আরও দৃষ্টি আকর্ষণীয়। আমি এটি ব্যবহার:
/*
* this is a multi-line comment, which needs to be used
* for explanations, and preferably be OUTSIDE the a
* function's or class' and provide information to developers
* that would not belong to a generated API documentation.
*/
বা এটি (তবে আমি ব্যক্তিগত ঘন ঘন কপিরাইট বিজ্ঞপ্তি বা বেশিরভাগ কপিরাইট বিজ্ঞপ্তি ব্যতীত আর কখনও তা করি না - এটি আমার জন্য historicalতিহাসিক এবং আমার শিক্ষাগত পটভূমি থেকে আসে Unfortunately দুর্ভাগ্যক্রমে, বেশিরভাগ আইডিই অটো-ফর্ম্যাট ব্যবহার করার সময় এটিকে ঘৃণা করে) :
/*
** this is another multi-line comment, which needs to be used
** for explanations, and preferably be OUTSIDE the a
** function's or class' and provide information to developers
** that would not belong to a generated API documentation.
*/
যদি সত্যিই প্রয়োজন হয়, তবে আমি অনুগ্রহপূর্বক মন্তব্যের জন্য আমি পূর্বে যা উল্লেখ করেছি তা ব্যবহার করে ইনলাইন মন্তব্য করব, যদি এটি অনুমানযোগ্য অবস্থানে ব্যবহার করা বোধগম্য হয়। খুব বিশেষ প্রত্যাবর্তন ক্ষেত্রে উপর, উদাহরণস্বরূপ, বা নথির একটি থেকে switch
এর case
বিবৃতি (বিরল, আমি ব্যবহারের প্রায়ই সুইচ করবেন না), অথবা যখন আমি একটি শাখা নথি if ... else
নিয়ন্ত্রণ প্রবাহ। যদি এটিগুলির মধ্যে একটি না হয় তবে সাধারণত ফাংশন / পদ্ধতি / ব্লকের ধাপগুলি রূপরেখার বাইরে স্কোপের বাইরে একটি মন্তব্য ব্লক আমার কাছে আরও অর্থবোধ করে।
আমি এগুলি খুব ব্যতিক্রমীভাবে ব্যবহার করি, ডকুমেন্টেশন মন্তব্যগুলির সমর্থন ছাড়াই কোনও ভাষায় কোডিং করা (নীচে দেখুন) ব্যতীত; এই ক্ষেত্রে তারা আরও প্রচলিত হয়। তবে সাধারণ ক্ষেত্রে, এটি সত্যই কেবল এমন বিষয়গুলির ডকুমেন্টিংয়ের জন্য যা অন্যান্য বিকাশকারীদের জন্য বোঝানো হয় এবং অভ্যন্তরীণ মন্তব্য যা সত্যই সত্যই দাঁড়ানো উচিত। উদাহরণস্বরূপ, "বাধ্যতামূলক" catch
ব্লকের মতো বাধ্যতামূলক খালি ব্লকটি নথিভুক্ত করতে :
try {
/* you'd have real code here, not this comment */
} catch (AwaitedException e) {
/*
* Nothing to do here. We default to a previously set value.
*/
}
যা আমার জন্য ইতিমধ্যে কুরুচিপূর্ণ তবে আমি কিছু পরিস্থিতিতে সহ্য করব।
ডকুমেন্টেশন মন্তব্য
জাভাদোক এবং আল।
আমি সাধারণত তাদের বৈশিষ্ট্যগুলি প্রবর্তন করার সংস্করণগুলি (বা এটি পরিবর্তন করে) ডকুমেন্ট করার জন্য পদ্ধতি এবং ক্লাসে ব্যবহার করতাম, বিশেষত যদি এটি কোনও পাবলিক এপিআই এর জন্য হয় এবং কিছু উদাহরণ সরবরাহ করতে (পরিষ্কার ইনপুট এবং আউটপুট কেস এবং বিশেষ ক্ষেত্রে)। যদিও কিছু ক্ষেত্রে ইউনিট কেসগুলি এগুলি নথিভুক্ত করা আরও ভাল হতে পারে তবে ইউনিট পরীক্ষাগুলি অগত্যা মানব পাঠযোগ্য নয় (আপনি ডিএসএল-জিনিসই ব্যবহার করেন না কেন)।
ক্ষেত্র / বৈশিষ্ট্য দলিল করার জন্য তারা আমাকে কিছুটা বাগ দিয়েছে, কারণ আমি এর জন্য অনুগ্রহমূলক মন্তব্যগুলি পছন্দ করি এবং সমস্ত ডকুমেন্টেশন প্রজন্মের কাঠামো সমর্থন করে নথিভুক্ত মন্তব্যগুলিকে সমর্থন করে না। উদাহরণস্বরূপ ডক্সিজেন তা করে তবে জাভাডক তা করে না, যার অর্থ আপনার সমস্ত ক্ষেত্রের জন্য আপনার শীর্ষ মন্তব্য প্রয়োজন। যদিও আমি বেঁচে থাকতে পারি, জাভা লাইন বেশিরভাগ সময় যেভাবে তুলনামূলকভাবে দীর্ঘ হয়, তাই আমার পিছনে থাকা মন্তব্যটি আমার সহনশীলতার দ্বার ছাড়িয়ে লাইনটি প্রসারিত করে সমানভাবে ভেসে উঠবে। জাভাডোক যদি কখনও এটির উন্নতি বিবেচনা করে তবে আমি অনেক বেশি খুশি হব।
মন্তব্য-আউট কোড
আমি কেবল সি-ল্যাঙ্গুয়েজগুলিতে কেবলমাত্র এক কারণে লাইন ব্যবহার করি (কঠোর সি এর জন্য সংকলন করা ব্যতীত, যেখানে আমি সত্যিই সেগুলি ব্যবহার করি না): কোডিংয়ের সময় স্টাফ মন্তব্য করতে। বেশিরভাগ আইডিইতে একক-লাইন মন্তব্যের জন্য টগল করতে হবে (ইনডেটে বা কলাম 0 তে প্রান্তিক করা) এবং এটি আমার ক্ষেত্রে ব্যবহারের ক্ষেত্রে ফিট করে। মাল্টি-লাইন মন্তব্যের জন্য টগল ব্যবহার করা (বা কিছু আইডিই-র জন্য লাইনগুলির মাঝখানে নির্বাচন করা) সহজেই মন্তব্য / অসাধারণের মধ্যে পরিবর্তন করা আরও শক্ত করে তুলবে।
তবে আমি এসসিএম-তে কমেন্ট-আউট কোডের বিপক্ষে থাকি, এটি সাধারণত খুব অল্পকালীন কারণ আমি কমেন্ট করার আগে মন্তব্যগুলি মুছে ফেলব। ( "লাইন মন্তব্য এবং এসসিএম-এ সম্পাদিত" এ এই প্রশ্নের উত্তরটি পড়ুন )
মন্তব্য শৈলী
আমি সাধারণত লেখার ঝোঁক:
- ডকুমেন্টেশন মন্তব্যের জন্য সঠিক ব্যাকরণ (বিরামচিহ্ন সহ) সহ সম্পূর্ণ বাক্যগুলি এপিআই ডকের পরে বা উত্পন্ন ম্যানুয়ালের অংশ হিসাবে পড়ার কথা।
- মাল্টি-লাইনের মন্তব্য ব্লকগুলির জন্য বিরামচিহ্ন / ক্যাপগুলিতে সু-বিন্যাসিত তবে আরও শিথিল
- বিরামচিহ্ন ছাড়াই অবরুদ্ধ ব্লকগুলি (স্থানের কারণে এবং সাধারণত কারণ মন্তব্যটি একটি সংক্ষিপ্ততর হয়, যা আরও প্রথম বন্ধনীযুক্ত বিবৃতিতে পড়ে)
লিটারেট প্রোগ্রামিং সম্পর্কিত একটি নোট
ডোনাল্ড নুথের এই কাগজে প্রবর্তিত হিসাবে আপনি লিটারেট প্রোগ্রামিংয়ে আগ্রহী হতে চাইতে পারেন ।
সাক্ষরতার প্রোগ্রামিং দৃষ্টান্ত, [...] কম্পিউটারের দ্বারা আরোপিত পদ্ধতি এবং ক্রম অনুযায়ী প্রোগ্রামগুলি লেখার থেকে দূরে সরে যাওয়ার প্রতিনিধিত্ব করে এবং এর পরিবর্তে প্রোগ্রামারদের তাদের যুক্তি ও প্রবণতার দ্বারা দাবি করা ক্রমে প্রোগ্রামগুলি বিকাশ করতে সক্ষম করে। 2 সাহিত্যের প্রোগ্রামগুলি একটি সাধারণ মানুষের ভাষায় যুক্তিগুলির নিরবচ্ছিন্ন প্রকাশ হিসাবে লেখা হয়, অনেকটা প্রবন্ধের পাঠ্যের মতো [...]।
সাক্ষরতার প্রোগ্রামিং সরঞ্জামগুলি একটি সাক্ষর উত্স ফাইল থেকে দুটি উপস্থাপনা প্রাপ্ত করতে ব্যবহৃত হয়: একটি কম্পিউটার দ্বারা আরও সংকলন বা সম্পাদনের জন্য উপযুক্ত, "জটযুক্ত" কোড এবং অন্যটি বিন্যাসিত ডকুমেন্টেশন হিসাবে দেখার জন্য, যা "বোনা" বলা হয় সাক্ষর উত্স।
পার্শ্ব নোট এবং উদাহরণ হিসাবে: আন্ডারস্কোর.জেএস জাভাস্ক্রিপ্ট কাঠামো, আমার মন্তব্য শৈলীর সাথে সম্মতি না থাকা সত্ত্বেও, একটি ভাল-ডকুমেন্ট কোডবেস এবং একটি সুসংগঠিত টীকাযুক্ত উত্সের একটি দুর্দান্ত উদাহরণ - যদিও সম্ভবত এটি ব্যবহার করা সবচেয়ে ভাল নয় একটি এপিআই রেফারেন্স)।
এগুলি ব্যক্তিগত সম্মেলন conven হ্যাঁ, আমি অদ্ভুত হতে পারি (এবং আপনিও হতে পারেন)। এটি ঠিক আছে, যতক্ষণ না আপনি সহকর্মীদের সাথে কাজ করার সময় আপনার দলের কোড কনভেনশনগুলি অনুসরণ করেন এবং মেনে চলেন, বা তাদের পছন্দগুলিকে আমূল আক্রমণ করবেন না এবং ভালভাবে সহবাস করবেন না । এটি আপনার স্টাইলের অংশ, এবং কোডিং শৈলীর বিকাশকারী যা আপনাকে কোডার হিসাবে ব্যাখ্যা করে (বা আপনার কোনও সংযোগ রয়েছে এমন একটি চিন্তাভাবনা বা সংস্থার অনুগামী হিসাবে) এবং ধারাবাহিকতার জন্য একটি গ্রুপের সম্মেলনকে সম্মান করে ।
:3,7 Align //
3-7 লাইনে মন্তব্যগুলি সারিবদ্ধ করতে করুন।