আমি প্রায়শই ডিবাগারটি ব্যবহার করি কারণ আমি একটি বড় সিস্টেমে কাজ করি এবং তাই আমি স্তন্যপান করি।
http://steve-yegge.blogspot.com/2007/06/rich-programmer-food.html
আপনার কোডটি কত সংক্ষিপ্ত এবং ঘন ঘন পঠনযোগ্য তা বিবেচনা করা না কেন, এতে সর্বদা ব্যাগ থাকার সম্ভাবনা থাকে। http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html
ত্রুটিযুক্ত হওয়াই মানবিক এবং কেউ কখনই প্রমাণ করতে পারে না যে কোনও প্রোগ্রামটি সঠিক, তাই কেন এই কঠিন ব্যবসায়টিতে নিজেদের সহায়তা করার জন্য ডিবাগার / স্বয়ংক্রিয় পরীক্ষার মতো সরঞ্জাম ব্যবহার করবেন না?
কোডটি যদি যথেষ্ট সংক্ষিপ্ত হয়, তবে সাধারণ পরীক্ষাগুলি হবে। এছাড়াও, যদি এটি সংক্ষিপ্ত হয় এবং আপনি বাগের প্রকৃতিটি জানেন তবে কোডটি পড়া যথেষ্ট। যাইহোক, একবার কোড বেসটি বড় হয়ে গেলে এক সাথে বেশ কয়েকটি ভাষা মিশ্রিত হয়, এবং আরও 3 টি স্তর থাকে, তবে আপনাকে অবশ্যই অনেকগুলি স্তরের ভাল টেস্ট কভারেজের পাশাপাশি একটি খুব ভাল ডিবাগার অবশ্যই রাখতে হবে - অন্যথায় আপনি প্রচুর সময় নষ্ট করবেন।
তো, কখন আমার কোনও ডিবাগার লাগবে না?
আমি বুদ্ধিমান কোডার বা সবচেয়ে অভিজ্ঞ নই, তবুও, কখনও কখনও আমার ডিবাগারটি ব্যবহার করার প্রয়োজন হয় না। ওটা যখন:
- কোডটি আমার বা ভাল-লিখিত এবং
- এটি একটি পঠনযোগ্য ভাষায় এবং এন্ডে লেখা হয়েছে
- সামগ্রিক প্রকল্পটি ছোট।
আমি কখন একটি ডিবাগারের উপর নির্ভর করি?
- সংক্ষিপ্ত উত্তর: প্রায়শই ।
- যখন একটি অ্যাপ্লিকেশন ক্রাশ হয়। বিশেষত যখন এটি মোতায়েন করা হয়। সেই কম্পিউটারে ভিএস 2010 ইনস্টল করা "অজানা ত্রুটি" এবং এর মধ্যে পার্থক্য আনতে পারে
FileNotFoundException
।
- যখন কোনও তৃতীয় পক্ষের লাইব্রেরি ক্রাশ বা দুর্ব্যবহার করে।
- কোডটি যখন খারাপভাবে লেখা থাকে। বিশেষত যদি একই ফাইলটি গত 10 বছরে 10 জন ভিন্ন লোক দ্বারা স্পর্শ করে, যার মধ্যে 7 টি এখন আর সংস্থার কাছে নেই।
- প্রকল্পটি বড় হলে
- কোডটি বরং এককথায় হয়।
- যখন জড়িত থাকে বেশ কয়েকটি স্তর (জিইউআই, এসকিউএল, বিএল)।
মনে রাখবেন যে "ডিবাগার" একাধিক সরঞ্জামকে উল্লেখ করতে পারে। আমি ভিজ্যুয়াল স্টুডিও ডিবাগার, এসকিউএল ডিবাগার (বেশিরভাগ সঞ্চিত প্রোকস জন্য) এবং এসকিউএল প্রোফাইলার ব্যবহার করি (কোন এসপি বলা হচ্ছে তা নির্ধারণের জন্য)। আমি কি এই ক্যালিবারের সরঞ্জামগুলি চাই যে আমি একটি দ্রুত সিসাদমিন-ইশ পাইথনের স্ক্রিপ্ট লিখছিলাম? না। আমি যদি নিজের নিজস্ব জিইআইআই ভিত্তিক সরঞ্জাম তৈরি করি? নির্ভর করে। যদি এটি। নেট উইনফর্মস - সম্ভবত না। যদি এটি ডাব্লুপিএফ হয় - হ্যাঁ
"রিয়েল" প্রোগ্রামারটিকে কীভাবে সংজ্ঞায়িত করা যায়? এক যে দ্রুত? বুদ্ধিমান? অ্যালগরিদমে ভাল? ভাল ডকুমেন্টেশন লিখেছেন? ঠিক কখন একজন এই নতুন উপাধিতে স্নাতক হয়? কেউ কখন যাদুকরী রেখাটি অতিক্রম করে?
আমি বলব যে একটি প্রোগ্রামার যিনি বিদ্যমান 100+ পুরুষ-বছরের প্রচেষ্টায় নিজের হাতটি নোংরা করেননি তার জটিলতা এবং নিজস্ব সীমাবদ্ধতা (পাশাপাশি কোড মানের সাথে হতাশ) হ্রাস করার সুযোগ নেই।
আমি ব্যক্তিগতভাবে আমার কাছে উপলব্ধ সেরা ডিবাগারটি ব্যবহার করার চেষ্টা করি এবং আমি প্রায়শই এটি ব্যবহার করার প্রবণতা রাখি। যদি কোনও কাজ যথেষ্ট সহজ হয় এবং কোনও ডিবাগারের প্রয়োজন না হয় - আমি তখন এটি ব্যবহার করি না। আমার একটা দরকার কিনা তা বোঝাতে খুব বেশি সময় লাগে না।
...
এখন, তত্ত্বের ভিত্তিতে আমি এতক্ষণ কোড বেজটি পড়তে পারি, আমি এটি পেতে পারি। যাইহোক, হ্যান্ডস অন পদ্ধতিটি সর্বোত্তমভাবে কাজ করে, এবং আমি প্রায়শই সেই বোকা কোডটি আবার লিখতে চাই যা আমি দেখছি। দুর্ভাগ্যক্রমে আমার যে কোড বেসটি আছে তা পরিষ্কার করতে আমার 10+ বছর লাগবে So সুতরাং, ডিবাগারটি ব্যবহার করা একটি স্পষ্ট প্রথম পদক্ষেপ। কেবলমাত্র যখন আমি 5 মিলিয়ন লাইনের কোডের মধ্যে কোনটি কাজ করছে তা কেবল তখনই জানতে পারব that শ্রেণিটি কী করছে তা জানার চেষ্টা করার জন্য আমি ফাইলটি উপর থেকে নীচে স্ক্যান করব।