কোডের বিভাগে কোনও মন্তব্য যুক্ত করা উচিত কিনা তা নিয়ে ভাবতে গিয়ে আমি নিজেকে এখানে জিজ্ঞাসা করতে চাই: আমি কী জানাতে পারি যা পরবর্তী ব্যক্তিকে কোডের সামগ্রিক অভিপ্রায়টি আরও ভালভাবে বুঝতে সহায়তা করে , যাতে তারা আপডেট করতে পারে, ঠিক করতে পারে, বা এটি আরও দ্রুত এবং আরও নির্ভরযোগ্যভাবে প্রসারিত করবেন?
কখনও কখনও এই প্রশ্নের সঠিক উত্তর হ'ল কোডটিতে আপনি সেই সময়ে যুক্ত করতে পারেন এমন অনেক কিছুই নেই, কারণ আপনি ইতিমধ্যে নাম এবং কনভেনশনগুলি নির্বাচন করেছেন যা এটিকে উদ্দেশ্য হিসাবে যতটা স্পষ্ট করে তোলে make এর অর্থ আপনি শক্ত স্ব-ডকুমেন্টিং কোড লিখেছেন, এবং সেখানে একটি মন্তব্য সন্নিবেশ করা সম্ভবত এটির সাহায্যের চেয়ে আরও বেশি হ্রাস পাবে। (নোট করুন যে রিলান্ড্যান্ট মন্তব্যগুলি সময়ের সাথে সাথে সত্যিকারের কোডের সাথে সিঙ্কের বাইরে আস্তে আস্তে আস্তে আস্তে কোডের নির্ভরযোগ্যতার ক্ষতি করতে পারে এবং এভাবে প্রকৃত অভিপ্রায়টি বোঝা আরও শক্ত করে তোলে।
যাইহোক, প্রায় কোনও প্রোগ্রামে এবং যে কোনও প্রোগ্রামিং ভাষায়, আপনি এমন পয়েন্টগুলির মুখোমুখি হতে চলেছেন যেগুলি মূল প্রোগ্রামার দ্বারা নির্দিষ্ট কিছু সমালোচনা ধারণা এবং সিদ্ধান্তগুলি - আপনার দ্বারা - কোডটিতে আর স্পষ্ট হবে না। এটি বেশ অপ্রয়োজনীয় কারণ একটি ভাল প্রোগ্রামার সর্বদা ভবিষ্যতের জন্য প্রোগ্রাম করে - যা কেবল একবার প্রোগ্রামকেই তৈরি করে নয়, তার ভবিষ্যতের সমস্ত সংশোধন এবং সংস্করণ এবং এক্সটেনশানগুলি এবং পরিবর্তনগুলি এবং বন্দরগুলি তৈরি করতে এবং কে কী জানে এছাড়াও সঠিকভাবে কাজ। পরবর্তী লক্ষ্যগুলি অনেক বেশি শক্ত, এবং ভাল করার জন্য আরও অনেক চিন্তাভাবনা প্রয়োজন। বলে যে কি উপর, - এটা সবচেয়ে কম্পিউটার ভাষা, যা কার্যকারিতা বেশি আগ্রহী ভাল প্রকাশ করার খুব কঠিন এই প্রোগ্রামটির সংস্করণটি সন্তোষজনক করার জন্য এখনই করা দরকার।
আমি কী বোঝাতে চাইছি তার একটি সাধারণ উদাহরণ এখানে। বেশিরভাগ ভাষায়, একটি ছোট ডাটা স্ট্রাকচারের দ্রুত ইন-লাইন অনুসন্ধানে যথেষ্ট জটিলতা থাকবে যে এটি প্রথমবারের দিকে তাকানো কেউ সম্ভবত এটি কী তা তাত্ক্ষণিকভাবে চিনতে পারবেন না। এটি একটি ভাল মন্তব্যের সুযোগ, কারণ আপনি আপনার কোডের অভিপ্রায় সম্পর্কে এমন কিছু যুক্ত করতে পারেন যা পরবর্তী কোনও পাঠক সম্ভবত বিশদ বিশদটি বোঝার জন্য তত্ক্ষণাত সাহায্যকারী হিসাবে প্রশংসা করবে।
বিপরীতে, লজিক-ভিত্তিক ভাষা প্রোলগের মতো ভাষায়, একটি ছোট তালিকার সন্ধান প্রকাশ করা এত অবিশ্বাস্যরকম তুচ্ছ এবং সংক্ষিপ্ত হতে পারে যে আপনি যে কোনও মন্তব্য যুক্ত করতে পারেন তা কেবল গোলমাল হবে। সুতরাং, ভাল মন্তব্য করা অবশ্যই প্রাসঙ্গিক নির্ভর। এর মধ্যে আপনি ব্যবহার করছেন ভাষার শক্তি এবং সামগ্রিক প্রোগ্রামের প্রসঙ্গের মতো বিষয়গুলি অন্তর্ভুক্ত রয়েছে।
মূল কথাটি হ'ল ভবিষ্যতের কথা ভাবুন। ভবিষ্যতে প্রোগ্রামটি কীভাবে বোঝা ও সংশোধন করা উচিত সে সম্পর্কে আপনার কাছে কী গুরুত্বপূর্ণ এবং স্পষ্ট তা নিজেকে জিজ্ঞাসা করুন [[1]
আপনার কোডের সেই অংশগুলির জন্য যা প্রকৃতপক্ষে স্ব নথিভুক্ত, মন্তব্যগুলি কেবল শব্দ যোগ করে এবং ভবিষ্যতের সংস্করণগুলির জন্য সুসংগত সমস্যা বাড়িয়ে তোলে। সুতরাং তাদের সেখানে যোগ করবেন না।
তবে আপনার কোডের সেই অংশগুলির জন্য যেখানে আপনি বেশ কয়েকটি বিকল্প থেকে সমালোচনামূলক সিদ্ধান্ত নিয়েছেন বা কোডটি নিজেই এতটাই জটিল যে এর উদ্দেশ্যটি অস্পষ্ট, দয়া করে একটি মন্তব্য আকারে আপনার বিশেষ জ্ঞান যুক্ত করুন। এই জাতীয় ক্ষেত্রে একটি ভাল মন্তব্য হ'ল কিছু ভবিষ্যতের প্রোগ্রামারকে এটি একইরকম রাখতে হবে - এটি হ'ল ঘটনাচক্রে - এবং একটি পরিবর্তন হিসাবে ঠিক কী is
[1] এটি মন্তব্যগুলির ইস্যু ছাড়িয়ে যায়, তবে এটি সামনে আনার মতো: আপনি যদি মনে করেন যে ভবিষ্যতে আপনার কোডটি কীভাবে পরিবর্তিত হতে পারে সে সম্পর্কে আপনার খুব কাস্তে ধারণা রয়েছে, আপনার সম্ভবত সম্ভবত কোনও মন্তব্য করার বাইরে চিন্তা করা উচিত এবং সেই পরামিতিগুলি এম্বেড করা উচিত কোডের মধ্যেই, যেহেতু আপনার কোডের ভবিষ্যতের সংস্করণগুলির নির্ভরযোগ্যতা নিশ্চিত করার পক্ষে এটি প্রায়শই একটি নির্ভরযোগ্য উপায় হয়ে উঠবে যাতে সঠিক দিকের কোনও অজানা ভবিষ্যতের ব্যক্তিকে চালিত করার জন্য মন্তব্যগুলি ব্যবহার করার চেষ্টা না করে। একই সাথে আপনি অত্যধিক জেনারেলাইজিং এড়াতেও চান, যেহেতু মানুষ ভবিষ্যতের পূর্বাভাস দেওয়ার ক্ষেত্রে কুখ্যাতভাবে খারাপ, এবং এর মধ্যে প্রোগ্রাম পরিবর্তনের ভবিষ্যত অন্তর্ভুক্ত রয়েছে। সুতরাং, প্রোগ্রাম ডিজাইনের সমস্ত স্তরে ভবিষ্যতের যুক্তিসঙ্গত এবং সু-প্রমাণিত মাত্রাগুলি সংজ্ঞায়িত ও ক্যাপচার করার চেষ্টা করুন, তবে ডন '