মন্তব্য করা কোড থেকে তথ্যমূলক মন্তব্য আলাদা করার জন্য কি কোনও পদ্ধতি আছে?


36

প্রোগ্রামিংয়ের পুরো চলাকালীন, আপনি কিছু মন্তব্য যা কোড ব্যাখ্যা করে এমন কিছু মন্তব্য এবং কোড মুছে ফেলছে এমন কিছু মন্তব্য দিয়ে শেষ করবেন:

// A concise description 
const a = Boolean(obj);
//b = false;

দ্রুত পার্স করার কোন ভাল পদ্ধতি আছে যা কোনটি?

আমি প্রায় 3 টি ব্যবহার করে /এবং /** */বর্ণনামূলক মন্তব্যের জন্য খেলেছি ।

আমি হাইলাইট করতে //TODO:এবং একটি ভিএসকোড প্লাগইন ব্যবহার করেছি//FIXME:


2
একটি নোট হিসাবে ///এবং /** ... */মন্তব্যগুলি ডকুমেন্ট বা জেএসডোকের মতো কিছু ডকুমেন্টেশন জেনারেটর দ্বারাও ব্যবহৃত হয়। আপনি যদি সেগুলি বা অনুরূপ সরঞ্জাম ব্যবহার করেন তবে আপনি বর্ণনামূলক মন্তব্যের জন্য এই জাতীয় মন্তব্যটি ব্যবহার করতে পারবেন না যা নথির অংশ হিসাবে নয় intended
জাস্টিন টাইম 2 মনিকা 18

1
জাভাস্ক্রিপ্টে বেশিরভাগ কোডের লাইনগুলি সেমিকোলন দিয়ে শেষ হবে। আপনার মন্তব্যগুলি না করা অবধি, এটি বেশ সহজ বলে মনে হচ্ছে এবং খুব সহজেই এটি পরীক্ষা করার জন্য আপনি কোনও স্ক্রিপ্টও লিখতে পারেন;
আর্টেমিস ফাউল

উত্তর:


187

এটির একটি খুব সহজ সমাধান রয়েছে: মন্তব্য করা-আউট কোডটি সরিয়ে দিন।

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


108
এছাড়াও, যদি কোডটি চেক ইন করা হয়েছে: কেবল এটি সরিয়ে দিন। আপনার যদি কখনও এটির ফিরে প্রয়োজন হয় তবে উত্স নিয়ন্ত্রণ আপনাকে covered
েকে রেখেছে

38
কোড অপসারণ করা হয় যখন কেউ এর অস্তিত্ব লক্ষ্য করে না। এটি পুনরুদ্ধার করা আরও কঠিন করে তোলে। মন্তব্য করা কোড রেখে যাওয়ার মূল্য রয়েছে, বিশেষত যদি মনে হয় এটি ভবিষ্যতে ব্যবহৃত হবে।
usr ডিরেক্টরির

76
@ অ্যাসার: কোডটি সরিয়ে ফেলা হলে কেউ কখনই এর উপস্থিতি লক্ষ্য করে না - এবং আমার অভিজ্ঞতা অনুসারে, রিয়েল-ওয়ার্ল্ডের 99% ক্ষেত্রে এটি সঠিক জিনিস। 1%-তে, বহির্মুখী লাইনে কিছু মান থাকতে পারে, তবে, যদি মন্তব্য-আউট কোড কয়েক সপ্তাহ বা মাস (বা তার বেশি) ধরে থাকে, তবে সম্ভাবনা বেশি থাকে তবে এটি সক্রিয়দের রিফ্যাক্টরিংয়ের কারণে আর কোনও সংকলন করতে পারে না কোড লাইন "ভবিষ্যতের ব্যবহারের জন্য পন্টেনশিয়াল ভ্যালু" যুক্তি প্রায়শই লোকেরা একটি ভুল অজুহাত হিসাবে ব্যবহৃত হয় যাঁরা কোডবেজ থেকে কিছুটা সময় কাটানোর জন্য ব্রেইন ওয়ার্কের জন্য বিনিয়োগ করেছিলেন এমন জিনিসগুলির আবেগগত সমস্যা রয়েছে।
ডক ব্রাউন

21
আমি অতিরিক্ত বর্ণনামূলক মন্তব্য ছাড়া মন্তব্য মন্তব্য কোড কখনও না। এমন বিরল পরিস্থিতি রয়েছে যেখানে আপনি কাছের মেয়াদে কোডটি ফিরে পেতে চাইতে পারেন, তবে এর প্রত্যেকটিই ব্যতিক্রমী এবং ভবিষ্যতের বিকাশকারীদের (বা ভবিষ্যতের আপনার) ব্যাখ্যা প্রয়োজন। আমার 90% টি মন্তব্য "অপসারণ করা হয়েছে বলে মনে হচ্ছে এটি অপসারণ করা হয়েছে। কোনও সমস্যা না হলে 2021 সালের পরে মুছুন"
জেমস বেনঞ্জার

30
আমার সহকর্মী একবার "এখানে কোড ছিল যা এক্স করেছিল তবে আমি এটি সরিয়ে দিয়েছি" যখন আমরা আপাতত কিছু বৈশিষ্ট্য সরিয়েছি। এটি সত্যিই ভাল কাজ করেছে; আপনি জানতেন যে এই ফাইলটির উত্স ইতিহাসে এটি ছিল তবে এটি আপনাকে বিরক্ত করছে না।
এরিক

45

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

# TODO: Replace with `foo = frobnicate(bar)` once <link.to/bug> is fixed
foo = [some complex workaround]

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

সতর্কতা: বিকল্প সমাধান সহ আপনার কোডটি লিটারে ফেলবেন না। প্রতিটি কাজ অসীমভাবে বিভিন্ন উপায়ে করা যেতে পারে এবং প্রতিটি পরিবর্তনের জন্য দীর্ঘ সময় ধরে এই স্থানটি অনুসন্ধান করা ব্যয়বহুল নয়। কোড রিভিউগুলি এই ধরণের অনুপস্থিত মন্তব্যগুলি আবিষ্কার করার জন্য ভাল জায়গা হতে পারে, যখন আপনার সহকর্মী এমন একটি উন্নতির পরামর্শ দেয় যা আপনি ইতিমধ্যে সাবওটিমাল হিসাবে আবিষ্কার করেছেন।


2
এর ফ্লিপ দিকটি হ'ল কখনও কখনও আপনাকে ব্যাখ্যা করতে হবে যে আপনি কেন ব্যবহার করছেন না frobnicate(bar), যাতে কেউ বরাবর আসে না এবং আপনার "অদম্য" কোডটি "ঠিক" করার চেষ্টা করে। সুতরাং আপনি তাদের দেখিয়েছেন যে আপনি জানেন যে একটি নিখুঁত বিশ্বে, frobnicateফাংশনটি যাওয়ার উপায় হবে, তবে আপনি জানেন যন্ত্রণাদায়ক অভিজ্ঞতা থেকে এটি সঠিকভাবে কাজ করে না। তৃতীয় পক্ষ এমনকি এটি একটি বাগ হিসাবে বিবেচনা করে, ফিক্সিংয়ের তুলনায় অনেক কম দামের কোনও প্রত্যাশা থাকতে পারে না; কেন আপনি সুস্পষ্ট দৃষ্টিভঙ্গি গ্রহণ করেন নি সে সম্পর্কে আপনাকে ভবিষ্যতের প্রোগ্রামারদের (নিজেকে অন্তর্ভুক্ত) কাছে এখনও একটি মন্তব্য রাখতে হবে।
মন্টি হার্ড

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

20

হুম, আমি এই প্রশ্নটি রবার্টের থেকে কিছুটা আলাদাভাবে পড়েছি যিনি সঠিকভাবে দাবি করেছেন যে মন্তব্য করা কোডটি অপসারণ করা উচিত।

তবে, যদি আপনি পরে অপসারণের জন্য কোড চিহ্নিত করার জন্য কোনও কনভেনশন খুঁজছেন তবে আমার এক পুরানো প্রিয়টি হ'ল:

//b = false; //TODO: remove

কিছু আইডিই এর পতাকা //TODO:মন্তব্য বা শেখানো যেতে পারে। যদি তা না হয় তবে এটি সাধারণত অনুসন্ধানযোগ্য স্ট্রিং। আপনার দোকানটি যে কনভেনশন স্থাপন করেছে তা অনুসরণ করা ভাল কারণ এটি বেশ কয়েকটি উপায়ে করা যেতে পারে। প্রতিটি কোড বেসকে এটি একভাবে করা উচিত। এটি অনুসন্ধানযোগ্য রাখে।

দ্রুত পার্স যা কোনটি?

চিহ্নটি ছাড়াই এটি করার স্বয়ংক্রিয় পদ্ধতিটি সংকলকটি সহ। যদি মন্তব্যটি বাদ দিয়ে এমন কোড তৈরি করে যা সংকলন করে, তবে এটি অবশ্যই কোড মন্তব্য করা উচিত। এমন কোনও আইডিই প্লাগইন লিখছেন যা পরীক্ষা করে না যে হার্ড হবে না। তবে এটি বগী মন্তব্য কোড পিছনে ছেড়ে যাবে।

এজন্য মন্তব্য করা কোডটিকে কোড হিসাবে চিহ্নিত করার মুহুর্তে কেবল চিহ্নিত করা ভাল। আপনি যদি সত্যই এটি শেষ হয়ে যেতে চান তা সিদ্ধান্ত নেওয়ার সময় এটি আপনাকে অ-ধ্বংসাত্মকভাবে কাজ করতে দেয়। যেহেতু আমরা সকলেই বাধা পেয়েছি এবং কিছুটা ভুলে যাচ্ছি, সেই অবস্থায় থাকাকালীন কিছু লাইন চেক হয়ে গেলে অবাক হবেন না। যদি তারা এটি করে তবে এটি কমপক্ষে স্পষ্টভাবে চিহ্নিত এবং সন্ধানযোগ্য nice কীবোর্ড ম্যাক্রোস অতীতে এটিতে আমাকে সহায়তা করেছে। আপনি যদি একক কীস্ট্রোক দিয়ে এটি করতে পারেন তবে এর মাঝখানে বাধা পাওয়া শক্ত hard

আপনি আপনার অবিচ্ছিন্ন ইন্টিগ্রেশন পরীক্ষায় চিহ্ন সন্নিবেশ করা পর্যন্ত এটি নিতে পারেন। ওফস, আমি আবারও অসামান্য টোডো দিয়ে চেক ইন করার চেষ্টা করছি।


মন্তব্যগুলি কোড হিসাবে তাদের লেবেল সংকলন করে কিনা তা দেখার পরিবর্তে, আপনি একটি প্রাকৃতিক ভাষা প্রসেসরের মাধ্যমে মন্তব্যগুলি চালাতে পারেন এবং আপনার দল যে ভাষায় কথা বলে সে বাক্য বা বিশেষ্য বাক্য হিসাবে পার্স করে এমন একটিগুলি লেবেল করতে পারে।
TheHansinator

3
@ দ্য হ্যান্সিনেটরটি ভাল লাগছে তবে আমার কোডার জারগনের সাথে আমার সেলফোনের অটো সঠিক সম্পর্কের সাথে আমার অভিজ্ঞতা আমাকে সতর্ক করে তুলেছে।
candied_orange

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

3
আর্ট পার্সিং: double buffer (flip on)-> সি প্রোটোটাইপ না আল্ট্রা-টর্স ইংলিশ? প্রসঙ্গ ব্যতীত বলতে পারে না, কোনও ভাষায়ই সঠিক সম্পূর্ণ নির্মাণ নয়। কিছু মিথ্যা ধনাত্মক এবং নেতিবাচক অনিবার্য, যখন তাদের প্রকৃতির মন্তব্যগুলি তাদের বিষয়বস্তুর রূপকে কোনও দিকেই সীমাবদ্ধ করে না।
লুশেনকো

8

আমি কোড অপসারণের জন্য প্রিপ্রসেসর নির্দেশাবলী ব্যবহার করি, কোনও মন্তব্য নয়:

//comment
active_code();
#if FALSE
inactive_code();
#endif

এটি অনুসন্ধান করার জন্য খুব সহজ জিনিস তৈরি করে এবং আমার সিনট্যাক্স হাইলাইটার এটিকে একটি মন্তব্য হিসাবে বিবেচনা করে। এমনকি আমি এটি একক লাইনেও ভেঙে দিতে পারি:#if FALSE(...)

আপনি বিভিন্ন বিকল্প থাকতে পারে এই ধারণাটি প্রসারিত করতে পারেন:

#if OPTION == 0
code_for_option_0();
#elif OPTION == 1
code_for_option_1();
#else
code_for_all_other_options();
#endif

এবং সংকলন-সময় ত্রুটি-পরীক্ষা:

#if FOO >= 5
#error FOO should be less than 5!
#endif

অবশ্যই, আপনি এটির উপরে যেতে চান না, বা আসলে কী সংকলন হচ্ছে এবং কী নয় তা বলা মুশকিল হয়ে পড়ে। তবে আপনি ধারণাটি পেয়েছেন, এবং মন্তব্য কোডের জন্য একই সমস্যা ... যতক্ষণ না আপনি কেবল এটি স্ট্যাটিকালি ব্যবহার করেন use আপনার অবস্থা যদি গতিশীল হয় তবে এটি আরও খারাপ।


কোন বিদ্যমান কোডবেসে কোনটি এই সমস্যাটিকে একেবারেই বিবেচনা করে না তা নির্ধারণ করার জন্য, আমি মনে করি না যে সর্বজনীন সমাধান রয়েছে। আপনাকে নিজেরাই নিদর্শনগুলি খুঁজে পেতে হবে এবং সম্ভবত এটিগুলি খুঁজে পেতে একটি রেইজেক্স কোড করতে হবে code


বিশ্বের কি জন্য এটি ভাল হবে? আপনার কি একাধিক সংস্করণ সংকলন করতে হবে?
টিভিডি 1

@ টিভিডি 1 এটি একটি সম্ভাবনা এবং আপনি যদি এটি সত্যিই ভালভাবে পরিচালনা না করেন তবে একটি সম্ভাব্য দুঃস্বপ্ন । তবে বিকল্পটি সম্ভবত আরও খারাপ। আপনার যদি প্রায় একই কোডের একাধিক অনুলিপি থাকে তবে একটি সাধারণ থিমের প্রতিটি পরিবর্তনের জন্য একটি করে থাকে, তবে আপনাকে সেগুলি আলাদাভাবে বজায় রাখতে হবে এবং সেগুলি সিঙ্কে রাখতে হবে।
অ্যারোনডি

এটি করার বিভিন্ন উপায় রয়েছে তবে তাদের মধ্যে জটিল কনফিগারেশন সমস্যা বা স্বতন্ত্র অনুলিপি সমস্যাটির কিছুটা ভিন্নতা রয়েছে: আপনি কি নিশ্চিত যে কোনও বাগফিক্স সমস্ত স্বতন্ত্র অনুলিপিগুলিতে পেয়েছিল? যদি না হয় এবং অন্য একটি বৈশিষ্ট্য যুক্ত হয়, তবে এটি সেই বাগবিক্স দ্বারা ভেঙে গেছে যা বৈশিষ্ট্যটির আগে জানা ছিল তবে এখন পর্যন্ত পোর্ট করা হয়নি?
অ্যারোনডি

3
যে শুধুমাত্র কাজ করে যদি আপনি আছে সি মত একটি প্রাক প্রক্রিয়াকরণ পদক্ষেপ প্রশ্ন সম্পর্কে javascript। আপনি কিছু প্রাক-প্রক্রিয়াজাতকরণ করতে পারেন তবে এটি বিল্ড সিস্টেমের ক্ষমতাগুলি প্রসারিত করতে চলেছে এবং এটি মান-অ-মানক। আপনার যদি বিল্ড সিস্টেম না থাকে বা বিল্ড সিস্টেমটি পার্সিং এবং সম্পাদনকারী কোডটি মোটেই সমর্থন করে না, আপনি এই সমাধানটি কার্যকর করতে পারবেন না। পরিশেষে, এটি এমনকি প্রশ্নের সমাধান করে না - মন্তব্য করা আউট কোড শর্তসাপেক্ষে সক্রিয় হওয়া কোডের সাথে কঠোর সমতুল্য নয়। এটি এমন একটি অবশিষ্টাংশ হতে পারে যা সক্ষম করার অর্থ নয়।
VLAZ

শর্তসাপেক্ষ অ্যাক্টিভেশন হ'ল উত্তরের কেবল একটি এক্সটেনশন এবং উত্তর নিজেই নয়। অন্যথায় আমি এটিকে আরও প্রসারিত মন্তব্যগুলি অন্তর্ভুক্ত করতে সম্পাদনা করব।
অ্যারোনডি

4

আমি উত্তরের সাথে একমত হয়েছি যে যেখানে সম্ভব সেখানে মন্তব্য করার পরিবর্তে পুরাতন কোডটি সরানো উচিত, তবে আমি মন্তব্য-আউট কোডের প্রয়োজন হলে সেই কয়েকটি অনুষ্ঠানের জন্য একটি সম্মেলন পালন করেছি।

(আমার ভিত্তি সি # তবে এটি যে কোনও সি-সিনট্যাক্স ভাষা যেমন জাভাতে প্রয়োগ করা যেতে পারে)

// An explanatory comment has a space between the comment marker and the content.

// The following lines are commented out code so do not have the space (except where indented).
//var a = something();
//if(a==2) {
//   doSomethingElse();
//}

2
এটি সম্পূর্ণ শৈলীর উপর নির্ভর করে: আমি কোডটি মন্তব্য করার সময়, আমি সাধারণত //প্রথম কলামে যুক্ত করে থাকি এবং কার্যত সমস্ত কোড ইন্টেন্ট করা হয়, ফলস্বরূপ ফলাফলটি সর্বদা ফলাফলটি কিছু ট্যাব দিয়ে শুরু হয়। আশেপাশে একটি শীর্ষস্থানীয় স্থান নিয়ে ইতিমধ্যে অন্যান্য মন্তব্য না থাকলে সাধারণ মন্তব্যগুলি আমার কাছ থেকে অগ্রণী স্থান পায় না। সুতরাং, আমি যে মন্তব্যগুলি তৈরি করেছি তাতে আপনার পদ্ধতি অসাধারণভাবে ব্যর্থ হবে এবং আমার মন্তব্যের নিদর্শনগুলি সনাক্ত করতে যে কোনও পদ্ধতি তৈরি করা হয়েছে তা আপনার উপর অস্বাভাবিকভাবে ব্যর্থ হবে।
১:

@ মাস্টার আহ আমি দেখছি, আমি মনে করি আমি প্রশ্নটি ভুল বুঝেছি। আমি মন্তব্যগুলিকে এমনভাবে ফর্ম্যাট করার একটি সহজ উপায় প্রদান করেছি যাতে এগুলি সহজেই টাইপের জন্য পার্স করা যায়, যা চাওয়া হয়েছিল তা নয়।
আইয়ানএফ 1

2

আমি প্রশ্নটি এখনও আলাদা করে ব্যাখ্যা করছি, ভেবে আপনি মন্তব্য করা কোড খুঁজে পেতে চান।

সি-স্টাইল কোডটিতে এটিতে আধা-কলোন থাকতে বাধ্য যখন মন্তব্যটিতে এতে আধা-কলোন থাকার সম্ভাবনা নেই। সুতরাং একক লাইনের মন্তব্য-আউট কোডের জন্য আপনি এই নিয়মিত প্রকাশটি ব্যবহার করতে পারেন:

\s*\/\/[\s\S]*;

মাল্টি-লাইন মন্তব্য-আউট কোডের জন্য এটি হতে পারে

\/\*[^\;]*;[^\;]*\*\/

দ্রষ্টব্য ভিজুয়াল স্টুডিও নিয়মিত অভিব্যক্তিগুলিতে লাইন বিরতি সম্পর্কে কিছুটা অদ্ভুত, সেগুলি হোয়াইটস্পেস হিসাবে গণনা করে না, আপনাকে একটি স্পষ্ট উল্লেখ করতে হবে। N।


2

আপনি যদি পটভূমিতে চালিত সংকলক (এক্সকোড এবং ক্ল্যাংয়ের মতো) সহ কোনও সম্পাদক ব্যবহার করেন তবে আপনি কেবলমাত্র মন্তব্যের পাঠ্যটি সংকলনের চেষ্টা করতে পারেন। উদাহরণস্বরূপ, "একটি সংক্ষিপ্ত বিবরণ" ত্রুটি দেয়, "খ = মিথ্যা;" দেয় না। এরপরে আপনি বিভিন্ন সিনট্যাক্স হাইলাইট ব্যবহার করতে পারেন।

একটি সহজ পদ্ধতি হ'ল আইডিই প্লাগইন যা কিছু হিউরিস্টিক্স ব্যবহার করে, যেমন মন্তব্যগুলিতে কীওয়ার্ড পয়েন্ট ব্যতীত সারিতে একাধিক শব্দ, কোঁকড়ানো ব্রেসিড পয়েন্টের সাথে কোড ইত্যাদির মিল etc.


1

অন্যান্য উত্তরগুলিতে "মন্তব্য করার চেষ্টা করবেন না" থিমটিতে ভিন্নতা রয়েছে covered তবে কখনও কখনও আপনি এখনও রেফারেন্সের জন্য এটি প্রায় চাইবেন না।

আপনার যদি সত্যই চারপাশে থাকতে কোডের প্রয়োজন হয় তবে কোডটি "#if 0 ... #endif" দিয়ে ঘিরে একটি ভাল সমাধান, আদর্শভাবে কেন একটি মন্তব্য সহ। এটি মিস্রা সহ বিভিন্ন কোডিং মান থেকে প্রস্তাবিত কৌশল।


-3

সহজ, কমপক্ষে আমার জন্য - এবং সি / সি ++ এ। / * * / এ সংযুক্ত মন্তব্যগুলি তথ্যপূর্ণ। অস্থায়ীভাবে মুছে ফেলা টেস্ট কোডটি শীর্ষস্থানীয় // এর সাথে মন্তব্য করা হয়েছে।

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


এছাড়াও আছে #ifdef __DEBUG ... #endif, বা আপনি যে কাস্টম সংজ্ঞা ব্যবহার করতে চান তা রয়েছে। __DEBUGযদিও দুর্দান্ত, কারণ আপনাকে প্রায়শই এটির জন্য প্রকল্প কনফিগারেশনটি পরিবর্তন করতে হয়। তবে বেশিরভাগ আইডিই আপনাকে নিজের কনফিগারেশনগুলিও সংজ্ঞায়িত করতে দেয়, যা আপনাকে সেই জায়গাতে কিছু দিতে পারে।
অ্যারোনডি

"পরীক্ষার কোড" বলতে কী বোঝ? ইউনিট পরীক্ষা? এগুলি সম্পর্কে মোটেও মন্তব্য করা উচিত নয় তবে পরীক্ষার স্যুটে রাখা উচিত এবং যতক্ষণ সম্ভব এটি চালানো উচিত, কারো এটি প্রয়োজনীয় মনে হয় কিনা। অবশ্যই, কোনও
কোডের টুকরোটিকে

1
আরগ, এটা করবেন না । "কিছু পরীক্ষা করার জন্য" কোডটি মন্তব্য করা 100 বারের মধ্যে 99 টি পুরোপুরি সূক্ষ্মভাবে কাজ করবে ... এবং একক ক্ষেত্রে আপনি এটি অপসারণ করতে ভুলে যাবেন (যদি এটির আর প্রয়োজন হয় না) বা - আরও খারাপ - এটিকে নিরঙ্কোশ করতে ভুলে যান ( যদি এটি প্রয়োজন হয়) এবং জিনিসগুলি কদর্য হতে পারে।
চারনএক্স

@ লেফট্রাউন্ডবাউট: না, আমি প্রিন্টফ স্টেটমেন্টের মতো জিনিসগুলি মানগুলি পরীক্ষা করার জন্য রেখেছি।
জামেস্কেফ

@ জামেস্কেফের আপনার কখনই সেই ধরণের স্টাফের প্রয়োজন হবে না, এটিই কোনও ডিবাগারের জন্য। তবে আপনি সদ্য-লিখিত কোডটি সঠিকভাবে পাওয়ার জন্য printf/ coutবা অনুরূপ ব্যবহার করলেও (যা আমি স্বীকার করব যে আমি অতীতে নিজেই করেছি) তবে এগুলি সেখানে রেখে দেওয়া খুব কার্যকর নয়। যদি কেউ পরিবর্তন করতে চান এবং জানেন যে কোন ভেরিয়েবলগুলি সম্পর্কে তাদের তথ্য প্রয়োজন, এটি দ্রুত এবং সহজেই printfনতুনভাবে লেখা সহজ , যখন সেই দেব যদি না জানেন তবে কী প্রয়োজন এবং কেবলমাত্র এই সমস্ত printfবিবৃতি আন-মন্তব্য করেছেন তবে পাঠ্যের বিশাল সোয়াথ টার্মিনাল সম্ভবত তাদের সাহায্য করবে না।
বাম দিকের বাইরে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.