একটা ব্যাপার আলোচনা comp.lang.c ++,। থাকুক বা না থাকুক গবেষকেরা, যা C ++ শুধুমাত্র ডিবাগ মধ্যে উপস্থিত সম্পর্কে সংযত ধরে চলছে ডিফল্টরূপে তৈরী করে, উৎপাদন কোডে বা না রাখতে হবে।
একথাও ঠিক যে, প্রতিটি প্রকল্প, অনন্য, তাই আমার প্রশ্ন এখানে নয় এত কিনা গবেষকেরা রাখতে হবে, কিন্তু যা ক্ষেত্রেই এই সুপারিশের / না ভাল ধারণা।
জোর দিয়ে, মানে:
- একটি রান-টাইম চেক যা একটি শর্ত পরীক্ষা করে যা, যখন মিথ্যা হয়, সফ্টওয়্যারটিতে একটি বাগ প্রদর্শন করে।
- এমন একটি প্রক্রিয়া যার মাধ্যমে প্রোগ্রামটি থামানো হয়েছে (সম্ভবত সত্যিই ন্যূনতম পরিষ্কার-পরিচ্ছন্নতার পরে)।
আমি অগত্যা সি বা সি ++ নিয়ে কথা বলছি না।
আমার নিজের মতামতটি হ'ল আপনি যদি প্রোগ্রামার হন তবে ডেটা মালিক না রাখেন (যা বেশিরভাগ বাণিজ্যিক ডেস্কটপ অ্যাপ্লিকেশনগুলির ক্ষেত্রে হয়) আপনার এগুলি চালিয়ে নেওয়া উচিত, কারণ একটি ব্যর্থ হস্তান্তর কোনও ত্রুটি দেখায়, এবং আপনার যাওয়া উচিত নয় একটি ত্রুটিযুক্ত সাথে ব্যবহারকারীর ডেটা দূষিত হওয়ার ঝুঁকি নিয়ে। এটি আপনাকে জাহাজের আগে জোরালোভাবে পরীক্ষা করতে বাধ্য করে, এবং বাগগুলি আরও দৃশ্যমান করে তোলে, যাতে স্পট এবং ঠিক করা সহজ হয়।
আপনার মতামত / অভিজ্ঞতা কি?
চিয়ার্স,
কার্ল
সম্পর্কিত প্রশ্ন এখানে দেখুন
প্রতিক্রিয়া এবং আপডেট
আরে গ্রাহাম,
একটি দাবিটি ত্রুটি, খাঁটি এবং সাধারণ এবং তাই এটির মতো পরিচালনা করা উচিত। যেহেতু একটি ত্রুটি রিলিজ মোডে পরিচালনা করা উচিত তখন আপনার সত্যিকারের দৃ .়তার প্রয়োজন নেই।
এ কারণেই আমি দৃ about়তার বিষয়ে কথা বলার সময় "বাগ" শব্দটি পছন্দ করি। এটি বিষয়গুলিকে আরও পরিষ্কার করে তোলে। আমার কাছে, "ত্রুটি" শব্দটি খুব অস্পষ্ট। অনুপস্থিত ফাইলটি একটি ত্রুটি, কোনও বাগ নয়, এবং প্রোগ্রামটি এটির সাথে কাজ করা উচিত। নাল পয়েন্টারকে ডিফেরেন্স করার চেষ্টা করা একটি বাগ এবং প্রোগ্রামটি স্বীকার করা উচিত যে খারাপ কিছুতে পনির মতো গন্ধ পাওয়া যায়।
অতএব, আপনি একটি দৃ as়তা সঙ্গে পয়েন্টার পরীক্ষা করা উচিত, কিন্তু সাধারণ ত্রুটি-পরিচালনা কোড সহ ফাইল উপস্থিতি।
সামান্য অফ-টপিক, তবে আলোচনার একটি গুরুত্বপূর্ণ বিষয়।
শিরোনাম হিসাবে, যদি আপনার দাবিগুলি ব্যর্থ হয় তবে ডিবাগারে ভেঙে যায়, কেন নয়। তবে এমন অনেকগুলি কারণ রয়েছে যা কোনও ফাইল আপনার কোডের নিয়ন্ত্রণের বাইরে সম্পূর্ণরূপে বিদ্যমান নয়: পড়া / লেখার অধিকার, ডিস্ক পূর্ণ, ইউএসবি ডিভাইস আনপ্লাগড ইত্যাদি Since যেহেতু আপনার এতে নিয়ন্ত্রণ নেই তাই আমি দৃser়ভাবে মনে করি এটি মোকাবেলা করার সঠিক উপায় নয়।
কার্ল
থমাস,
হ্যাঁ, আমার কোড কমপ্লিট রয়েছে এবং অবশ্যই বলতে হবে যে আমি সেই বিশেষ পরামর্শের সাথে দৃ strongly়ভাবে একমত নই।
আপনার কাস্টম মেমরি বরাদ্দকারী স্ক্রু আপ বলুন এবং মেমরির একটি অংশকে জিরো করে তোলে যা এখনও অন্য কিছু বস্তুর দ্বারা ব্যবহৃত হয়। আমি একটি পয়েন্টার শূন্যের সাথে ঘটেছিলাম যে এই বস্তুটি নিয়মিতভাবে অবহিত হয় এবং আক্রমণকারীদের মধ্যে একটি হ'ল এই পয়েন্টারটি কখনই শূন্য হয় না এবং এটি সেভাবেই থাকে কিনা তা নিশ্চিত করার জন্য আপনার কাছে কয়েকটি দাবি রয়েছে। পয়েন্টারটি হঠাৎ শূন্য হয়ে গেলে আপনি কী করবেন। আপনি কেবল যদি () এটির আশেপাশে, আশা করি এটি কাজ করে?
মনে রাখবেন, আমরা এখানে পণ্যের কোড সম্পর্কে কথা বলছি, সুতরাং ডিবাগারে কোনও ব্রেক নেই এবং স্থানীয় রাজ্যটি পরীক্ষা করবো। এটি ব্যবহারকারীর মেশিনে একটি আসল বাগ।
কার্ল