আরও ভাল বাগ-ফিক্সার হয়ে উঠছে


24

আমি একজন প্রোগ্রামার হওয়া পছন্দ করি। সেখানে, আমি এটা বলেছি। যাইহোক, যা বলেছিল, আমি ইদানীং বুঝতে পেরেছি যে আমি সত্যই বাগ-ফিক্সিংয়ের পক্ষে দাঁড়াতে পারি না । মোটেই

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

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

বাগফিক্সিং করার সময় আমি কীভাবে আমার উত্পাদনশীলতা এবং অনুপ্রেরণার উন্নতি করতে পারি? এটি কি এমন কিছু যা বেশিরভাগ প্রোগ্রামাররা মোকাবেলা করে?


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

10
আপনার কোডে বাগ লিখবেন না ... সমস্যা সমাধান হয়েছে।
মাইকেল ব্রাউন

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

1
@ পলটম্বলিন আমি বুঝতে পারি আপনি কী বলছেন। আমি এমন কিছু বিকাশকারীকে জানি যারা সীমান্ত বিকাশ পছন্দ করে ... আমাকে আমি নন-ইউআই কোড সবচেয়ে ভাল পছন্দ করি। নতুন কোড লেখা অনেক সময় কঠিন কারণ আপনি মাঝে মাঝে "লেখকের ব্লক" পান
মাইকেল ব্রাউন

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

উত্তর:


21

আপনার যখন ছোটখাটো পরিবর্তন করতে হয় এবং 30 সেকেন্ড থেকে 3 মিনিট অপেক্ষা করতে হয় তারা কাজ করেছে কিনা তা দেখতে সক্ষম হওয়ার জন্য এটি মোটেও মজাদার নয়

এটাই এখানে আসল সমস্যা। প্রতিক্রিয়ার জন্য যখন আপনাকে এতক্ষণ অপেক্ষা করতে হবে তখন আপনি অনুপাতহীন অনুভব করেন, আমি অনুভূতিটি জানি। সম্ভবত আরও পরিষেবা জালিয়াতি করা এবং আরও ভাল পরীক্ষার সরঞ্জাম তৈরি করা সম্ভব হবে যাতে আপনি তাত্ক্ষণিক প্রতিক্রিয়া পেতে পারেন।

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

প্রতিক্রিয়ার জন্য এতক্ষণ অপেক্ষা করা বিরক্তিকর এবং Demotivating হয়, বাগগুলি নিজেই ঠিক করার কাজ নয়।


কখনও পৌরাণিক মনুষ্য-মাস পড়েন? পরের দিন সকাল পর্যন্ত অপেক্ষা করা ছবি এবং ব্যর্থতার সময় উপস্থিত স্ট্যাক ডাম্প / নিবন্ধ সামগ্রীগুলি বিশ্লেষণ করার চেষ্টা করা ...
sq33G

@ sq33G বা এর চেয়েও খারাপ, ভারতে আপনার টেস্ট দল থাকা যে আপনি কেবল ইমেলের মাধ্যমে (বাস্তব গল্প) মাধ্যমে কথা বলছেন।
গ্যারেট হল

13

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

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


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

@ উইলমুর: আপনি ক্রেপি কোডটি দিয়ে ঠিক আছেন এবং পরিবর্তনের প্রয়োজনীয়তাও রয়েছে।
মানুপকে

6

ব্যক্তিগতভাবে, আমি বাগের ছোট ছোট জিনিস হিসাবে ভাবনা থামাতে সহায়ক বলে মনে করেছি বরং এটি বড় শোস্টোপার্স হিসাবে রয়েছে যেগুলি বিশাল বৈশিষ্ট্যগুলির মতোই গুরুত্বপূর্ণ যদিও তারা সবেমাত্র ডিবাগিংয়ের কয়েক ঘন্টা পরে কোডের কয়েকটি লাইন পরিবর্তন করার সাথে জড়িত। এইভাবে, 3 বাগ ট্র্যাকার এন্ট্রিগুলিকে হত্যা করার জন্য পুরো দিন ব্যয় করা হ'ল কম হতাশাজনক (দৃষ্টিভঙ্গিটি এটি বিশ্বাস করার মধ্যে নিজেকে কথা বলার আপনার ব্যক্তিগত দক্ষতার উপর কিছুটা নির্ভর করে :-)।

সম্ভবত এটি এটিকে একটি গেম হিসাবে তৈরি করতে সহায়তা করে, উদাহরণস্বরূপ আপনার সহকর্মীদের সাথে একত্রে ( যারা দিনের মধ্যে সবচেয়ে বেশি বাগগুলি ঠিক করে? বা আরও খারাপ, কোনও দিন কমপক্ষে পুনর্গঠন করেনি কে? )


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

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

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

5

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

ডিবাগিং খুব ক্লান্তিকর হতে পারে, বিশেষত আপনি যে জটিল কোডটি লেখেননি তা দিয়ে। একটি লক্ষ্য নিয়ে আসুন, "শুক্রবারের মধ্যে বাগ 13533 ঠিক করুন"। আপনি যদি লক্ষ্যটি পূরণ করেন তবে একটি পুরষ্কার সেটআপ করুন, "শুক্রবার রাতে আমার সাথীদের সাথে একটি পিন্ট ধরুন" rab এটি এটিকে কিছুটা বেশি ফলপ্রসূ করতে সহায়তা করবে।

তা ছাড়াও মাঝে মাঝে কাজ ঠিক তেমন ... কাজ।


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

আপনাকে সেগুলি ধরতে আপনাকে "অপ্রত্যাশিত ত্রুটি হ্যান্ডলার" রুটিন লিখতে হবে ;-)
জেক হ্যানসেল

2

এই ধরণের পরিস্থিতিতে আপনার একরকম সৃজনশীল চ্যালেঞ্জ দরকার। সাধারণত, এটি কোড লেখার, কিন্তু এখানে এটি না।

কিন্তু, সব হারিয়ে যায় না। আপনার মেটা-সমস্যা সমাধানে কাজ করুন এবং এতে আপনার শক্তি pourালুন। প্রতিক্রিয়া পেতে কেন এটি 30 সেকেন্ড থেকে 3 মিনিট সময় নেয়? আপনি কিভাবে এই সময়টি সংক্ষিপ্ত করতে পারেন? (সম্ভবত আপনি কোনও ধরণের স্ক্রিপ্ট বা ইউটিলিটি অ্যাপ্লিকেশন লিখতে পারেন যা আপনি যাচাই করেন না এটি আপনাকে এটি করতে সহায়তা করে)। এটি আপনার নতুন সমস্যা ডোমেন - আপনার নতুন সৃজনশীল চ্যালেঞ্জ।

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

সুতরাং, সংক্ষেপে, আমি বলব "সর্বদা বিকাশশীল থাকি"। :)


আমি আপনাকে শুনতে পাচ্ছি. আমি আশা করি জিনিসগুলি স্বয়ংক্রিয় করতে কিছু করতে পারতাম। আমি একটি সার্ভার এবং একটি ক্লায়েন্ট পেয়েছি, এবং আমি ঠিক ক্লায়েন্ট সহজে সহজে স্বয়ংক্রিয় করতে পারবেন না। এই জিনিসটির কার্যপ্রবাহে একাধিক পর্যায় রয়েছে এবং অনেকগুলি বাগের পর্যায়গুলির মধ্যে উত্থাপিত হয়, তাই আমাকে 30 সেকেন্ড পর্যায়টি করতে হবে, তারপরে 3 মিনিটের স্টেজ বা বিপরীতে। নীচের লাইন, এটি বেশ দুঃস্বপ্ন> :)
নাফটুলি কে

2

আপনার সমস্যা কি ডিবাগিং বা বাগ ফিক্সিং? আপনি যদি সমস্যাটি তৈরি করে এমন উপাদানটি আলাদা করতে যথেষ্ট ডিবাগ করতে পারেন তবে এটি একটি নতুন বিকাশ কার্য হিসাবে দেখুন।

  1. যে কোডটি ভেঙে যাচ্ছে তার জন্য কিছু ইউনিট পরীক্ষা লিখুন। নিশ্চিত হয়ে নিন যে আপনার পছন্দসই কার্যকারিতার সমস্তটি যাচাই করে নিয়েছেন এবং আরও কিছু যা বিশেষত বগি আচরণকে আলাদা করে দেয়।
  2. নতুন কোড লিখুন যা আপনি সবে লিখেছেন এমন সমস্ত পরীক্ষায় পাস করে।
  3. নতুন দিয়ে পুরানো কোডটি প্রতিস্থাপন করুন।
  4. কিছু সংহতকরণ পরীক্ষা চালান। এখানেই আপনি আপনার তিন মিনিটের সার্ভার রিবুটগুলি চালাবেন, তবে আপনি যদি 1-3 টি ভাল পদক্ষেপটি করেন তবে এটি হ্রাস করা উচিত।
  5. ভাল খবর!

2

১৯৯৯ সালে আমেরিকান সায়েন্টিস্ট-এ প্রকাশিত একটি নিবন্ধ ব্রায়ান হেইজের ডিবাগিং মাইসেলফের দিকে নজর দেওয়া উচিত you আপনার উত্পাদিত ঘৃণ্য ধরণের বাগগুলি হ্রাস বা অপসারণ করতে আপনি পদক্ষেপ নিতে ( যোদা শর্তগুলির অভ্যাসগত ব্যবহারের মতো ) পদক্ষেপ নিতে পারেন ।

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


1

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


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

1
@ টি কে: আমার শেষ সংস্থায় আমরা পূর্বের ম্যানুয়াল প্রক্রিয়াগুলিকে স্বয়ংক্রিয় করতে গ্রোভিকে আমাদের জাভা বিকাশের প্রক্রিয়াতে সংহত করতে দুর্দান্ত সাফল্য পেয়েছিলাম। এটি জাভা নয়, তবে এটি যথেষ্ট কাছাকাছি ছিল এবং এত কার্যকর যে আমাদের খুব কম ধাক্কা খেল।
কেভিন ক্লিন

1

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

আপনি তাদের কোড বিরুদ্ধে ইউনিট পরীক্ষা লিখতে পারেন । আপনি এটি পারেন হিসাবে এটি ঝিনুক। মনিবদের দেখানোর জন্য আপনার কাছে এমন কিছু হয়ে গেলে আপনি জোয়ার ঘুরিয়ে দিতে সক্ষম হতে পারেন।

অলসতা ঠিক করতে ডিবাগিং সরঞ্জামগুলি ব্যবহার করুন, নতুন কোড পরীক্ষা করার জন্য ইউনিট পরীক্ষাগুলি ব্যবহার করুন এবং বিদ্যমান কোডের সমস্যাগুলি ঠিক করার পাশাপাশি বিদ্যমান কোডটিকে ছোট ছোট টুকরো টুকরো করার জন্য সেগুলি ব্যবহার করুন।

আপনি এটিকে চ্যালেঞ্জ হিসাবে তৈরি করতে এবং প্রক্রিয়া উন্নতির নায়ক হতে পারেন। এবং, যদি এটি কাজ না করে, আপনার পরবর্তী নিয়োগকর্তাকে নিয়ে যাওয়ার জন্য ভাল অভিজ্ঞতা থাকবে।


1

বেশিরভাগ প্রোগ্রামারদের কেরিয়ারের কোনও এক পর্যায়ে ব্যক্তিগত সমস্যাগুলি বাগ-ফিক্সিংয়ের সাথে ডিল করতে হয়।

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

আপনার প্ল্যাটফর্মের নির্দিষ্ট সমস্যাগুলির বিষয়ে, দীর্ঘ স্থাপনা এবং পরীক্ষার সময়গুলি হ্রাস করার কয়েকটি উপায় রয়েছে (এবং পাশাপাশি, আপনার বিশেষত দীর্ঘ নয়)।

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

দ্বিতীয়ত, ইউনিট পরীক্ষার দিকে আরও বেশি পক্ষপাত এবং ইন্টিগ্রেশন পরীক্ষার দিকে কম। হার্ড-টু-ডিবাগ প্ল্যাটফর্ম থেকে প্রতিটি পয়েন্ট-অফ-ব্যর্থতা মুছে ফেলুন।


1

বাগ ফিক্সিং "দুর্দান্ত" বা "ক্লান্তিকর" হতে পারে। আমার কাছে কিছু গেমের ক্রেডিট রয়েছে যা সম্পূর্ণরূপে একটি একক বাগ ঠিক করার কারণে হয় - ক্র্যাশ বাগ যা অন্য কেউই ঠিক করতে পারে না। তবে বাগজিলায় প্রতিদিনের সাজসজ্জা মন মাতানো। মাইনর বাগগুলি ক্লান্তিকর। প্রধান বাগগুলি উপযুক্ত are

এখানে উপলব্ধিটি রয়েছে: আপনার কাছে মাইনর বাগগুলির একটি বিশাল তালিকা রয়েছে তা নিজেই একটি বড় বাগ। এটি কেবল একটি কোড বাগ নয়। এটি একটি প্রক্রিয়া বা পরিচালনা বাগ।

সেই বাগটি সন্ধান করুন এবং এটি ঠিক করুন।


1

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

সুতরাং আপনি যে সমস্যার সমাধান করতে বা ধাঁধা সমাধানের দক্ষতা নিয়ে কাজ করতে কিছুটা সময় ব্যয় করতে পারেন তার একটি উপায় আপনি আরও ভাল বাগ ফিক্সার হয়ে উঠতে পারেন।

এখানে একটি উইকিপিডিয়া লিংক যা আপনাকে আরও ভাল সমস্যার সমাধান করতে সহায়তা করার জন্য বিষয়গুলির জন্য একটি ভাল সূচনা পয়েন্ট হতে পারে।

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


0

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

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

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

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