একটি ভাল প্রোগ্রামার হওয়ার জন্য কি ডিবাগিং দক্ষতা গুরুত্বপূর্ণ?


24

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

সম্পাদনা: - ধাঁধাটি সাধারণ লাল, নীল এবং লাল নীল বলের মতো। প্রোগ্রামগুলি একটি অ্যারেতে ক্রমাগত কে জিরোগুলি সন্ধান করার মতো। ডিবাগিং প্রোগ্রামটি এমন একটি যা শর্তের কারণে ব্যর্থ হয় যা> = হওয়া উচিত, তবে পরিবর্তে>> সবকিছু কাগজে আছে।


13
তাকে কি প্রোগ্রামটি চালানোর অনুমতি দেওয়া হয়েছিল, না কোডটি দেখার সময় ত্রুটিটি খুঁজে পেতে হয়েছিল?
মাইকেল কে

9
আপনি কেবল ডিবাগ করতে পারেন ঠিক তেমন কোড করতে পারেন। দু'জনে আমার বইয়ে একসাথে যেতে
ডেমিয়ান ক্যাসিয়ার

3
কিছু লোক এর চেয়ে অন্যের চেয়ে ভাল। বিদেশী কোডের কোনও অংশে একটি ত্রুটি চিহ্নিত করা প্রায়শই কঠিন - বিশেষত একটি চাপযুক্ত সাক্ষাত্কারের সময়।

6
@ ফ্যান্যাটিক: কেবলমাত্র যদি আপনি কেবল নিজের কোড দিয়ে কাজ করছেন। আমি কাজের সময়ে বেশিরভাগ ডিবাগিং অন্য ব্যক্তির ত্রুটিগুলি খনন করে।
ম্যাসন হুইলারের

3
@ মনোজ আর, আপনি কি নিশ্চিত যে একই সময় হিসাবে একই সমস্যাটি খুঁজে পেয়েছেন? আপনি কি নিশ্চিত যে কেবলমাত্র 20 মিনিটের মধ্যে আবেদনকারী কাগজে কোনও সমস্যা খুঁজে পান না, কারণ তিনি তার পক্ষে গুগল (হ্যাঁ, গুগলকে চুদাচুপি করছেন) এবং কয়েক সপ্তাহ অনুশীলন করতে পারছেন না?
কাজ

উত্তর:


37

হ্যাঁ এটি খুব গুরুত্বপূর্ণ

নির্দিষ্ট প্রার্থী সম্পর্কে, এটি ডিবাগ করার জন্য কোড / বেস এক্স এর সাথে তিনি যথেষ্ট পরিচিত ছিলেন না।

একটি ভাল সমস্যা সমাধানকারী ডিবাগ করতে সক্ষম হওয়া উচিত, যেহেতু সাধারণত যা প্রয়োজন তা খুব যুক্তিসঙ্গত পদ্ধতি / পদ্ধতির হওয়া দরকার।


1
এরপরে প্রোগ্রামিংয়ে অন্য কোনও দক্ষতা, ডিবাগিং অভিজ্ঞতা নিয়ে আসে এবং প্রতিভার সাথে তার কম সম্পর্ক থাকে।
পিটার বি

24

আপনি যদি ডিবাগ করতে না পারেন তবে আপনি মোটেও একজন প্রোগ্রামার নন, তবে খুব ভাল alone

ডিবাগিং কেবল প্রযুক্তিগত দক্ষতাই নয় বিশ্লেষণের ক্ষমতা এবং চিন্তার প্রক্রিয়াগুলির একটি বাস্তব, ব্যবহারিক প্রয়োগ। ফলস্বরূপ আমি এটিকে হোয়াইটবোর্ড বা সাক্ষাত্কারের প্রশ্নের চেয়ে অনেক বেশি দরকারী এবং প্রাসঙ্গিক পরীক্ষা হিসাবে রেট দেব।

আপনি যে চাকরিটি পেয়েছেন ততক্ষণ তত্ত্বের প্রশ্নের উত্তর দেওয়ার জন্য সারাদিন ব্যয় করা জড়িত না হলে আপনার এমন কোনও ব্যক্তির দরকার আছে যা তাদের যে দক্ষতা রয়েছে তা প্রয়োগ করতে পারেন।

নিজেকে যা করা দরকার তা যদি নিজেকে জিজ্ঞাসা করা হয় তবে এটি কি ডিবাগিংয়ের ক্ষমতার ন্যায্য পরীক্ষা ছিল - তারা কোডটি চালাতে পারে, ব্রেক পয়েন্টগুলিতে রেখেছিল এবং ঠিক একইভাবে তারা সত্যিকারের বিশ্বে চালাতে পারে? এটি কোন ধরণের ত্রুটি ছিল? এটি কি এমন কিছু যা সংকলকটি বাছাই করবে এবং পতাকা তুলবে (এক্ষেত্রে এটি একটি দুর্দান্ত অর্থহীন প্রশ্ন কারণ তাদের এটির সন্ধান করার দরকার নেই)?

যদি এটি কেবল কাগজে লেখা থাকে তবে এটি মূলত কেবল একটি বিশদ পাঠের পরীক্ষা এবং এটি আপনার গড় প্রযুক্তিগত সাক্ষাত্কারের প্রশ্নের চেয়ে আরও বিমূর্ত দক্ষতা এবং আমি যুক্তি জানাতে পারি, এটি বেশ মূল্যহীন।


2
"নিজেকে জিজ্ঞাসা করুন এটি কি ডিবাগিংয়ের দক্ষতার ন্যায্য পরীক্ষা" - এটির মতো মনে হয় না। একটি সুষ্ঠু পরীক্ষার মধ্যে একটি ডিবাগারের সাথে চলমান কোড অন্তর্ভুক্ত থাকতে পারে, অর্থাৎ এগুলি একটি প্রাকৃতিক, স্বাভাবিক কাজের পরিবেশে রেখে দেওয়া হয় (বিবেচনা করে তারা সম্ভবত সান ডিবাগারটি কাজ করবে)।
doppelgreener

11

মূল নিয়োগের নিয়ম - কোনও সন্দেহ নেই বলুন।

সস্তার জন্য যদি আপনাকে প্রচুর নতুন কোড প্রয়োগ করতে হয় - আপনি সেই লোকটি পেতে পারেন তবে ব্যক্তিগতভাবে আমি অনুসন্ধান চালিয়ে যাব।


7
আমি আমার বছরগুলিতে প্রচুর লোককে নিয়োগ করেছি এবং আমি নিয়োগপ্রাপ্ত প্রায় প্রতিটি "সম্ভবত" প্রার্থীর জন্য আফসোস করেছি।
জনএফএক্স

10

ডেভেলপার যতক্ষণ না সারাক্ষণ ক্লিন কোড লিখতে পারে (একেবারেই অসম্ভব) এবং কেবলমাত্র "সবুজ ক্ষেত্র" প্রকল্পগুলিতে কাজ করে (কখনই হবে না), তবে হ্যাঁ, ডিবাগিং দক্ষতা একেবারে প্রয়োজনীয়। একেবারে। আমার বিকাশকারীদের সাথে অভিজ্ঞতা হয়েছে যারা কেবল ডিবাগ করতে পছন্দ করেন না, তাই তারা অলস হয়ে পড়েছিলেন এবং তাদের পরীক্ষা করার জন্য দেয়ালের উপর দিয়ে QA তে কোড ছুড়েছিলেন। তবে এই বিকাশকারীরা খুব বেশি দিন স্থায়ী হয় না।

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


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

7

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


5

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

উদাহরণস্বরূপ, একটি অদ্ভুত বাগ সম্পর্কে চিন্তা করুন যেখানে কোনও জাভা প্রোগ্রাম ইন্টারেক্টিভ মোডে কনসোলটিতে সূক্ষ্মভাবে কাজ করে, কিন্তু আপনি যখন একই ইনপুটটির জন্য ইউনিক্স পাইপ ব্যবহার করার চেষ্টা করেন তখন ব্যর্থ হয়। আপনি যদি আগে এই সমস্যার মুখোমুখি হয়ে থাকেন তবে আপনি new Scanner(System.in)এটি একবারেই ডেকেছেন তা নিশ্চিত হতে পারেন ; বাগটি হ'ল এটি যখন পাইপ করা হয় তখন বাফারটি গ্রাস করে তবে স্পষ্টতই ইন্টারেক্টিভ মোডে আসে না। আমি আরও একজন সিনিয়র প্রোগ্রামারকে এই বাগটি দ্রুত চিহ্নিত করার আশা করব। সম্ভবত তারা এটিকে আগে অভিজ্ঞতা অর্জন করেছে বা অতীতে বাফারিংয়ের সাথে তাদের অন্যান্য সমস্যা রয়েছে বলেই।

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

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

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


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

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

5

এটি আপনার পরিবেশের উপর নির্ভর করে। আপনি যদি সারাদিন সোডোকু এবং অন্যান্য ধাঁধা খেলেন, সম্ভবত এটি ভাল প্রার্থী হবে।

তবে, আপনার কোডটিতে আপনার মাঝে মাঝে বাগ থাকে, বা এটি সর্বদা প্রত্যাশার মতো ঠিকভাবে সম্পাদন করে না আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি সমস্যার সমাধানের সময় কাউকে ভাল পেতে পারেন।

আপনার যা প্রয়োজন তার জন্য ভাড়া রাখুন, প্রোগ্রামার কী হওয়া উচিত তার কোনও আদর্শ নয়।


3

অন্যান্য গুণাবলী পাশাপাশি একটি প্রোগ্রামার ভাল ডিবাগিং দক্ষতা প্রয়োজন?

হ্যাঁ।

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

আমি কি তাকে কাজের জন্য বিবেচনা করব?

হতে পারে, এটি নির্ভর করে।

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

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


2
+1 ডিবাগটির পুনরাবৃত্তি করা প্রয়োজন তবে সাক্ষাত্কারের সময় ডিল-ব্রেকার নয়।
গৌরব

3

একজন প্রোগ্রামার ভাল ডিবাগিং দক্ষতা প্রয়োজন?

হ্যাঁ। এটি বলেছিল, আমি আপনাকে সাক্ষাত্কারের পদ্ধতিটি (যেমন কুইজ / টেস্ট-স্টাইল) তুলনায় নিখুঁত (ঠিক আছে, ত্রুটিযুক্ত) কম বিবেচনা করতে বলব যে কাগজে কোডটি একটি অদ্ভুত, অপরিচিত অভিজ্ঞতা বলে মনে হয়।

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

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

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


দুর্দান্ত উত্তর। আমি সহজ বাগ ফিক্সের সন্ধানে আক্ষরিক দিনগুলি কাটিয়েছি এবং কয়েক মিনিটের মধ্যে একটি জটিল বাগ ঠিক করতে আক্ষরিকভাবে হোঁচট খেয়েছি। একটি ভাল দেবের একটি যুক্তিসঙ্গত কৌশল থাকা উচিত। এবং এটি অ্যাপের উপর অনেক নির্ভর করে। বলুন যে আপনি যখন মুদ্রণ / লগ স্টেটমেন্টগুলির একটি গুচ্ছ রাখবেন বা চিহ্নগুলি সহ সংস্করণটি চালান তখন আপনার অ্যাপ্লিকেশন কোনও সমস্যা প্রদর্শন করে না। তখন কি? আবেদনকারীর কমপক্ষে কোনও প্রকারের সুসংগত কৌশল প্রকাশ করতে সক্ষম হওয়া উচিত।
স্নুপডুগিডুগ

2

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

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


1

প্রোগ্রামিং সমস্যা সমাধানের একটি ভাল অংশ এবং একটি সমস্যা সমাধানের জন্য আপনাকে মূল সমস্যাটি কেবল উপসর্গ বা অসঙ্গতিগুলি নয় তা জানতে হবে। ডিবাগিং হ'ল মূল-সমস্যা চিহ্নিত করার শিল্প।

  • মূল সমস্যা চিহ্নিত করুন
  • প্রবাহটি কল্পনা করতে সক্ষম

এবং আরো অনেক.


1

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

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


1

ডিবাগিং একটি সমালোচনা দক্ষতা। আসলে আমি আরও বলব যে সমস্যা সমাধানের বিষয়টি ক্রিটটিক্যাল দক্ষতা। কারও জানা উচিত যে কীভাবে সমস্যাটি সংজ্ঞায়িত করতে হবে (কোন ব্যবহারকারী তথ্য জিজ্ঞাসা করতে হবে এবং কোন লগগুলি সন্ধান করতে হবে তা সহ), কীভাবে এটি পুনরুত্পাদন করতে হবে, সমস্যাটি সনাক্তকরণের জন্য তিনি কোন ডেটা উত্সগুলি উপলব্ধ করেছেন এবং কীভাবে ডিবাগ করবেন এবং কীভাবে একটি জিনিস ঠিক করতে হবে অন্য কিছু ভঙ্গ না করে। তবে, একটি সাক্ষাত্কারের সময় এটি নির্ধারণ করা কঠিন is

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

আমি ধাঁধার উত্তরগুলির চেয়ে ট্রাবলশুটিং দক্ষতায় বেশি ওজন দিতাম (ভাল আমি এগুলিকে জিজ্ঞাসা করব না) বা প্রোগ্রামিং দক্ষতা প্রদর্শনের জন্য। আমি খুব কমই এমন বিকাশকারীকে দেখেছি যিনি ভাল সমস্যার সমাধান করতে পারেন যিনি ভাল কোডও লিখতে পারেন না বা প্রয়োজনীয় সংশোধন করতে পারেন না। আমি প্রচুর লোককে দেখেছি যারা "ওয়ার্কিং" পণ্য পেতে একসাথে কিছু কোড আবদ্ধ করতে পারে তবে তাদের জীবন যদি এর উপর নির্ভর করে তবে কোনও সমস্যার সমাধান করতে পারেনি। বেশিরভাগ ক্ষেত্রেই তারা বোঝে না যে তারা আসলে তারা কী করছে বা সমস্যা সমাধান করার চেষ্টা করছে তা বুঝতে পারে না। ভাল ট্রাবলশুটরা কীভাবে আসল সমস্যাটি সনাক্ত করতে পারে তা কেবল লক্ষণ নয়। এ জাতীয় কোনও সমস্যা তারা জানেন যে নতুন বিকাশের জন্য সমস্যাটি সংজ্ঞায়িত করতে কী প্রশ্ন জিজ্ঞাসা করতে হবে।


1

যে কোনও চাকরিতে 4 থেকে 5 কী দক্ষতা রয়েছে এবং প্রোগ্রামিং এর চেয়ে আলাদা নয়। পেশাদার পর্যায়ে আপনাকে সমস্ত মূল মৌলিক দক্ষতায় ভাল হতে হবে। যদি আপনার 5 এর মধ্যে 4 থাকে তবে এটি আপনাকে আটকে রাখবে।

আপনি কি এমন কোনও বিক্রয়কর্মী কল্পনা করতে পারেন যা উপস্থাপন করতে, বোঝাতে, উচ্চারণ করতে, গ্রাহকদের যোগ্য করতে পারে, কিন্তু চুক্তিটি বন্ধ করতে পারে না? তারা সেখানে আছে এবং আপনি তাদের আপনার বিক্রয় দলে চান না।

ডিবাগিং অবশ্যই একটি মূল দক্ষতা যা কোনও প্রোগ্রামার ছাড়া থাকতে পারে না।


0

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


0

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

এটি কম্পিউটার অ্যাপ্লিকেশন / সিস্টেমে অন্তর্নিহিত বাগগুলি (দুর্বলতাগুলি) অপসারণের প্রক্রিয়া। যদি এটি না করা হয় তবে হ্যাকাররা বাগগুলির সুবিধা নিতে পারে এবং বিভিন্ন ধরণের ক্ষতিকারক ক্রিয়াকলাপ করতে পারে:

1) তারা জনসাধারণের কাছে দুর্বলতা প্রকাশ করতে পারে যার ফলে বিকাশকারী এবং বিক্রেতাদের রাজস্ব, ব্যবসা ও খ্যাতি হ্রাস পেতে পারে।

২) কৃমিরা দুর্বল সিস্টেমগুলির জন্য অনুসন্ধান করে যা তারা কাজে লাগাতে পারে এবং এইভাবে সেগুলি সার্ভারগুলিতে নিজের অনুলিপি করে। যেমন। জানুয়ারী 2003 সালে, স্ল্যামার ওয়ার্ম এমএস এসকিউএল সার্ভারে দুর্বলতার সুযোগ নিয়েছিল।

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

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.