/ ** এবং / * জাভা মন্তব্যে


191

এর মধ্যে পার্থক্য কী

/**
 * comment
 *
 *
 */

এবং

/*
 * 
 * comment
 *
 */

জাভাতে? আমি কখন তাদের ব্যবহার করব?

উত্তর:


243

প্রথম রূপটিকে জাভাদোক বলা হয় । আপনি যখন আপনার কোডটির জন্য ফর্মাল এপিআই লিখছেন, যা javadocসরঞ্জাম দ্বারা উত্পন্ন হয় আপনি এটি ব্যবহার করবেন । উদাহরণস্বরূপ, জাভা 7 এপিআই পৃষ্ঠা জাভাদোক ব্যবহার করে এবং সেই সরঞ্জামটি দ্বারা উত্পাদিত হয়েছিল।

জাভাডোকের কিছু সাধারণ উপাদানগুলির মধ্যে রয়েছে:

  • @param: কোনও পদ্ধতিতে কী কী পরামিতিগুলি পাস হচ্ছে এবং কী মান তাদের প্রত্যাশা করা হয় তা বোঝাতে এটি ব্যবহার করা হয়

  • @return: পদ্ধতিটি কী ফলাফল দিতে চলেছে তা বোঝাতে এটি ব্যবহার করা হয়

  • @throws: এটি নির্দিষ্ট করার জন্য কোনও পদ্ধতি একটি ব্যতিক্রম বা ত্রুটি ছুড়ে দেয় তা বোঝাতে ব্যবহৃত হয়

  • @since: এটি প্রথম শ্রেণীর জাভা সংস্করণটি চিহ্নিত করতে ব্যবহৃত হয় যা এই শ্রেণি বা ফাংশনটি উপলব্ধ ছিল

উদাহরণস্বরূপ, compareপদ্ধতির জন্য জাভাদোক এখানে Integer:

/**
 * Compares two {@code int} values numerically.
 * The value returned is identical to what would be returned by:
 * <pre>
 *    Integer.valueOf(x).compareTo(Integer.valueOf(y))
 * </pre>
 *
 * @param  x the first {@code int} to compare
 * @param  y the second {@code int} to compare
 * @return the value {@code 0} if {@code x == y};
 *         a value less than {@code 0} if {@code x < y}; and
 *         a value greater than {@code 0} if {@code x > y}
 * @since 1.7
 */
public static int compare(int x, int y) {
    return (x < y) ? -1 : ((x == y) ? 0 : 1);
}

দ্বিতীয় ফর্মটি একটি ব্লক (বহু-লাইন) মন্তব্য। আপনি যদি কোনও মন্তব্যে একাধিক লাইন পেতে চান তবে এটি ব্যবহার করুন।

আমি বলব যে আপনি কেবলমাত্র পরবর্তী ফর্মটি অল্প পরিমাণে ব্যবহার করতে চান ; এটি হ'ল, আপনি আপনার কোডটিকে ব্লক মন্তব্যে অতিরিক্ত চাপিয়ে দিতে চান না যা পদ্ধতি / জটিল ফাংশনটির কী আচরণ বলে মনে করে তা বর্ণনা করে না।

যেহেতু জাভাদোক এই দুটির আরও বর্ণনামূলক, এবং আপনি এটি ব্যবহারের ফলস্বরূপ প্রকৃত নথিপত্র তৈরি করতে পারেন, জাভাদোক ব্যবহার করা সাধারণ ব্লক মন্তব্যের চেয়ে বেশি পছন্দনীয়।


35
সরল ব্লক মন্তব্যের পরিবর্তে জাভাদোক ব্যবহারের আর একটি দুর্দান্ত সুবিধা হ'ল আপনি যখন জাভা উপাদানকে জাভা উপাদানগুলির আগে রাখেন (যেমন, কোনও পদ্ধতি স্বাক্ষর, একটি ক্ষেত্রের ঘোষণা, একটি শ্রেণি ইত্যাদি) এটি আইডিই সক্ষম করে - কমপক্ষে নিশ্চিতভাবে গ্রহনটি - জাভা উপাদানটির একটি রেফারেন্সে যখন আপনি কার্সারটি সরান - বা আপনার মাউস নিয়ে ঘুরে দেখেন তখন আপনার মন্তব্য (কোনও সরঞ্জামদণ্ডে f.ex) দেখানোর জন্য।
সান্টিবাইলર્સ

ভেরিয়েবলের জন্য জাভা ডক মন্তব্য ব্যবহার করা কি ঠিক আছে?
the_prole

@ থি_প্রোল: আপনি পারেন তবে আমি এটির কোনও মূল্য দেখতে পাচ্ছি না যতক্ষণ না এটি কনস্ট্যান্ট ধরণের প্যাকেজের অংশ না থাকে। তারপরেও, ইন-লাইন মন্তব্যগুলি আমার অভিজ্ঞতায় আরও মূল্যবান হয়েছে।
মাকোটো

136

জাভা প্রোগ্রামিং ভাষার জন্য , উভয়ের মধ্যে কোনও পার্থক্য নেই । জাভাতে দুটি ধরণের মন্তব্য রয়েছে: traditionalতিহ্যবাহী মন্তব্য ( /* ... */) এবং লাইনের শেষে মন্তব্য ( // ...)। দেখুন জাভা ল্যাঙ্গুয়েজ স্পেসিফিকেশন । সুতরাং, জাভা প্রোগ্রামিং ভাষার জন্য দুটি /* ... */এবং /** ... */ঐতিহ্যগত মন্তব্য দৃষ্টান্ত, এবং তারা উভয় জাভা কম্পাইলার দ্বারা ঠিক একই চিকিত্সা করা হয়, অর্থাত্, তারা উপেক্ষা করা হয় (বা আরো সঠিকভাবে তারা সাদা স্থান হিসাবে গণ্য করা হয়)।

তবে জাভা প্রোগ্রামার হিসাবে আপনি কেবল জাভা সংকলক ব্যবহার করেন না do আপনি একটি সম্পূর্ণ সরঞ্জাম চেইন ব্যবহার করেন, যার মধ্যে রয়েছে উদাহরণস্বরূপ সংকলক, একটি আইডিই, একটি বিল্ড সিস্টেম ইত্যাদি these বিশেষত, /** ... */জাভাদোক সরঞ্জাম দ্বারা মন্তব্যগুলি ব্যাখ্যা করা হয়েছে, যা জাভা প্ল্যাটফর্মের অন্তর্ভুক্ত এবং ডকুমেন্টেশন তৈরি করে। জাভাডোক সরঞ্জাম জাভা উত্স ফাইলটি স্ক্যান করবে এবং এর মধ্যবর্তী অংশগুলি ব্যাখ্যা করবে/** ... */ ডকুমেন্টেশন হিসাবে ।

এটি ট্যাগগুলির মতো FIXMEএবং TODO: আপনি যদি একটি মন্তব্য অন্তর্ভুক্ত করেন // TODO: fix thisবা // FIXME: do that, বেশিরভাগ আইডিই এই জাতীয় মন্তব্যগুলি হাইলাইট করবে যাতে আপনি সেগুলি সম্পর্কে ভুলে যাবেন না। তবে জাভা জন্য, তারা কেবল মন্তব্য।


48
জাভাডোক সিনট্যাক্স ভাষার অংশ নয় এমন গুরুত্বপূর্ণ পার্থক্য তৈরি করার জন্য +1, যা বর্তমানে অন্য কোনও উত্তর ক্যাপচার করেনি।
ক্রিস হেইস

1
এই কারণেই আপনার কাছে এমন একটি প্রকল্প থাকতে পারে যা মাভেনে ঠিকঠাক সংকলন করে তবে আপনি জাভডোকস সংযুক্ত করার সিদ্ধান্ত নেওয়ার সাথে সাথে এটি অভিযোগ করা শুরু করে কারণ javadocসরঞ্জামটি কিছু ব্যাখ্যা করতে পারে না।
ক্যাপ্টেন ম্যান

19

প্রথমটি জাভাদোক মন্তব্য। javadocআপনার ক্লাসের জন্য এপিআই ডকুমেন্টেশন তৈরি করার জন্য এগুলি সরঞ্জাম দ্বারা প্রক্রিয়া করা যায় । দ্বিতীয়টি একটি সাধারণ ব্লক মন্তব্য is


14

জেএলএস এর ৩.7 ধারাটি পড়া ভালভাবে জাভাতে আপনার মন্তব্য সম্পর্কে জেনে রাখা উচিত explain

দুটি ধরণের মন্তব্য রয়েছে:

  • / * পাঠ্য * /

একটি traditionalতিহ্যবাহী মন্তব্য: ASCII অক্ষর / * থেকে ASCII টি অক্ষরের সমস্ত পাঠ্য * / উপেক্ষা করা হয় (সি এবং সি ++ হিসাবে)।

  • // টেক্সট

একটি লাইন-এর শেষের মন্তব্য: ASCII অক্ষর // থেকে রেখার শেষ পর্যন্ত সমস্ত পাঠ্য উপেক্ষা করা হবে (সি ++ তে যেমন)।


আপনার প্রশ্ন সম্পর্কে,

প্রথমটি

/**
 *
 */

জাভাদোক প্রযুক্তি ঘোষণা করতে ব্যবহৃত হয় ।

জাভাডোক এমন একটি সরঞ্জাম যা উত্স ফাইলগুলির একটি সেটে ঘোষণাগুলি এবং ডকুমেন্টেশন মন্তব্যগুলিকে পার্স করে এবং ক্লাস, ইন্টারফেস, কনস্ট্রাক্টর, পদ্ধতি এবং ক্ষেত্রগুলি বর্ণনা করে এইচটিএমএল পৃষ্ঠাগুলির একটি সেট তৈরি করে। জাভাডোক আউটপুট কাস্টমাইজ করতে আপনি জাভাডোক ডকলেট ব্যবহার করতে পারেন। একটি ডকলেট হ'ল ডকলেট এপিআই সহ একটি প্রোগ্রাম যা সরঞ্জাম দ্বারা উত্পন্ন আউটপুট সামগ্রী এবং বিন্যাস নির্দিষ্ট করে। আপনি এইচটিএমএল, এসজিএমএল, এক্সএমএল, আরটিএফ এবং এমএফ এর মতো কোনও প্রকারের পাঠ্য ফাইল আউটপুট উত্পন্ন করতে একটি ডকলেট লিখতে পারেন। ওরাকল এইচটিএমএল-ফর্ম্যাট এপিআই ডকুমেন্টেশন উত্পন্ন করার জন্য একটি মানক ডকলেট সরবরাহ করে। ডকলেটগুলি এপিআই ডকুমেন্টেশন উত্পাদন সম্পর্কিত নয় এমন বিশেষ কার্য সম্পাদন করতে ব্যবহার করা যেতে পারে।

দেখুন আরও তথ্যের Docletজন্যএপিআই

দ্বিতীয়টি, জেএলএস-তে স্পষ্টভাবে বর্ণিত হিসাবে, এর মধ্যে সমস্ত পাঠ্য উপেক্ষা করবে /*এবং */এভাবে বহুমুখী মন্তব্য তৈরি করতে ব্যবহৃত হয়।


জাভাতে মন্তব্য সম্পর্কে আপনি জানতে চাইতে পারেন এমন কিছু অন্যান্য জিনিস

  • মন্তব্যগুলি বাসা বাঁধে না।
  • /* and */যে মন্তব্যে শুরু হয় তার কোনও বিশেষ অর্থ নেই //
  • //যে মন্তব্যে শুরু হয় তার কোনও বিশেষ অর্থ নেই /* or /**
  • লেজিকাল ব্যাকরণ থেকে বোঝা যায় যে মন্তব্যগুলি অক্ষর আক্ষরিক ( .3.10.4 ) বা স্ট্রিং আক্ষরিক ( .3.10.5 ) এর মধ্যে আসে না।

সুতরাং, নিম্নলিখিত পাঠ্যটি একটি সম্পূর্ণ মন্তব্য:

/* this comment /* // /** ends here: */

8

আমি মনে করি না যে বিদ্যমান উত্তরগুলি প্রশ্নের এই অংশটিকে যথেষ্টভাবে সম্বোধন করেছে:

আমি কখন তাদের ব্যবহার করব?

যদি আপনি এমন একটি এপিআই লিখছেন যা প্রকাশিত হবে বা আপনার প্রতিষ্ঠানের মধ্যে পুনরায় ব্যবহার করা হবে, তবে আপনার প্রতিটি publicশ্রেণি, পদ্ধতি এবং ক্ষেত্রের জন্য, পাশাপাশি protectedনন- finalক্লাসের পদ্ধতি এবং ক্ষেত্রগুলির জন্য জাভাদোকের ব্যাপক মন্তব্য লিখতে হবে । জাভাডোকের এমন সমস্ত কিছু আবরণ করা উচিত যা পদ্ধতি স্বাক্ষরের দ্বারা বোঝানো যায় না , যেমন পূর্বশর্ত, পোস্টকন্ডিশন, বৈধ যুক্তি, রানটাইম ব্যতিক্রম, অভ্যন্তরীণ কল ইত্যাদি cover

যদি আপনি একটি অভ্যন্তরীণ এপিআই লিখছেন (এটি একই প্রোগ্রামের বিভিন্ন অংশ দ্বারা ব্যবহৃত হয়), জাভাদোক তর্কযোগ্যভাবে কম গুরুত্বপূর্ণ। তবে রক্ষণাবেক্ষণ প্রোগ্রামারদের সুবিধার জন্য, আপনার এখনও কোনও পদ্ধতি বা ক্ষেত্রের জন্য জাভাদোক লিখতে হবে যেখানে সঠিক ব্যবহার বা অর্থ তাত্ক্ষণিকভাবে স্পষ্ট নয়।

জাভাডোকের "হত্যাকারী বৈশিষ্ট্য" হ'ল এটি গ্রহ এবং অন্যান্য আইডিইগুলির সাথে ঘনিষ্ঠভাবে সংহত হয়েছে। একজন বিকাশকারীকে কেবল তাদের মাউস পয়েন্টারটি সনাক্তকারীকে কেবল এটি সম্পর্কে জেনে রাখা সমস্ত কিছু শিখতে হবে। অবিচ্ছিন্নভাবে ডকুমেন্টেশন উল্লেখ করা অভিজ্ঞ জাভা বিকাশকারীদের জন্য দ্বিতীয় প্রকৃতি হয়ে ওঠে, যা তাদের নিজস্ব কোডের মান উন্নত করে। যদি আপনার এপিআই জাভাদোকের সাথে নথিভুক্ত না হয় তবে অভিজ্ঞ বিকাশকারীরা এটি ব্যবহার করতে চাইবে না।


4

জাভা কোডের নিম্নলিখিত তালিকার মন্তব্যে গ্রে গ্রেড অক্ষর রয়েছে:

/** 
 * The HelloWorldApp class implements an application that
 * simply displays "Hello World!" to the standard output.
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); //Display the string.
    }
}

জাভা ভাষা তিন ধরণের মন্তব্য সমর্থন করে:

/* text */

সংকলক থেকে শুরু করে সবকিছু উপেক্ষা /*করে */

/** documentation */

এটি একটি ডকুমেন্টেশন মন্তব্য (ডক্ট কমেন্ট, সংক্ষেপে) নির্দেশ করে। সংকলক এই জাতীয় মন্তব্যটিকে উপেক্ষা করে, যেমন এটি যে মন্তব্যগুলি ব্যবহার করে /*এবং তা অগ্রাহ্য করে */। স্বয়ংক্রিয়ভাবে উত্পন্ন ডকুমেন্টেশন প্রস্তুত করার সময় জেডি কে জাভাদোক সরঞ্জাম ডক মন্তব্য ব্যবহার করে।

// text

সংকলক //লাইনের শেষ অবধি সবকিছু উপেক্ষা করে ।

আপনার কখন তাদের ব্যবহার করা উচিত সে সম্পর্কে এখন:

// textআপনি যখন কোডের একক লাইনতে মন্তব্য করতে চান তখন ব্যবহার করুন ।

/* text */আপনি কোডের একাধিক লাইন মন্তব্য করতে চান যখন ব্যবহার করুন ।

/** documentation */ আপনি প্রোগ্রাম সম্পর্কিত কিছু তথ্য যুক্ত করতে চান যা ব্যবহার করুন যা প্রোগ্রামের ডকুমেন্টেশনের স্বয়ংক্রিয় প্রজন্মের জন্য ব্যবহার করা যেতে পারে Use


3

প্রথমটি জাভাডোকের জন্য যা আপনি ক্লাস, ইন্টারফেস, পদ্ধতি ইত্যাদির শীর্ষে সংজ্ঞায়িত করেন আপনি নামটি জাভাদোক ব্যবহার করতে পারেন যেমন ক্লাসটি কী কী পদ্ধতিতে কাজ করে ইত্যাদি সম্পর্কে আপনার কোডটি নথিভুক্ত করতে এবং এর উপর প্রতিবেদন তৈরি করার পরামর্শ দেয়।

দ্বিতীয়টি হচ্ছে কোড ব্লক মন্তব্য। উদাহরণস্বরূপ বলুন আপনার কিছু কোড ব্লক রয়েছে যা আপনি সংকলকটি ব্যাখ্যা করতে চান না তবে আপনি কোড ব্লক মন্তব্যটি ব্যবহার করেন use

আর একটি হ'ল // আপনি কোডের অগ্রগতি লাইনগুলি কী করণীয় তা নির্দিষ্ট করতে বিবৃতি স্তরে এটি ব্যবহার করুন।

// TODO এর মতো আরও কিছু রয়েছে, এটি চিহ্নিত করবে যে আপনি সেই জায়গায় পরে কিছু করতে চান

// আপনার কিছু অস্থায়ী সমাধান হলে আপনি ফিক্সএমই ব্যবহার করতে পারেন তবে আপনি পরে দেখতে চান এবং এটি আরও ভাল করতে চান।

আশাকরি এটা সাহায্য করবে


0
  • একক মন্তব্য যেমন: // মন্তব্য
  • মাল্টি লাইন মন্তব্য যেমন: / * মন্তব্য * /
  • জাভাডোক মন্তব্য যেমন: / ** মন্তব্য * /

4
এটি বিদ্যমান উত্তরের উপর কিছু যোগ করে না।
shmosel

1
@ শ্মোসেল নং, এটি তাদের সংক্ষিপ্তসার করে।
Det

-2

জাভা দুই ধরণের মন্তব্য সমর্থন করে:

  • /* multiline comment */: সংকলক থেকে শুরু করে সবকিছু উপেক্ষা /*করে */। মন্তব্যটি একাধিক লাইনে বিস্তৃত হতে পারে।

  • // single line: সংকলক //লাইনের শেষ অবধি সবকিছু উপেক্ষা করে ।

জাভাডোকের মতো কিছু সরঞ্জাম তাদের উদ্দেশ্যে একটি বিশেষ মাল্টলাইন মন্তব্য ব্যবহার করে। উদাহরণস্বরূপ /** doc comment */জাভাদোক দ্বারা স্বয়ংক্রিয়ভাবে উত্পন্ন ডকুমেন্টেশন প্রস্তুত করার সময় একটি ডকুমেন্টেশন মন্তব্য, তবে জাভার পক্ষে এটি একটি সাধারণ মাল্টলাইন মন্তব্য।


12
জাভা ভাষা কেবল দুটি ধরণের মন্তব্য সমর্থন করে। আকারে একটি মন্তব্য /** .. */কেবল একটি নিয়মিত মাল্টলাইন মন্তব্য, এবং এর ভিতরে প্রথম অক্ষরটি একটি নক্ষত্র হিসাবে ঘটে।
ক্রিস হেইস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.