আপনি সফটওয়্যার ইঞ্জিনিয়ারিংয়ের হলি গ্রেইলের জন্য জিজ্ঞাসা করছেন, এবং এখনও এই প্রশ্নের উত্তর "কারও" নেই।
অপরিহার্যটি হ'ল আপনি যে ত্রুটি তৈরি করছেন তার ধরণগুলি অনুসন্ধান করুন এবং তারপরে কোনও সাধারণ প্রবণতা আছে কিনা তা নির্ধারণ করার জন্য সেই ত্রুটিগুলির বিশ্লেষণ করুন। রুট কারণ বিশ্লেষণ হ'ল এই ধরণের অন্তঃকরণের আনুষ্ঠানিক নাম এবং এটি সম্পর্কিত ওয়েবে প্রচুর পরিমাণে উপাদান রয়েছে।
পেশাদাররা একটি বাগ ট্র্যাকিং সিস্টেম ব্যবহার করে যাতে তারা (1) কী স্থির করতে হবে তা জানতে পারে, তবে (2) সত্যের পরে কী ঠিক করা হয়েছিল তা বিশ্লেষণ করতে পারে। আপনার এতটা আনুষ্ঠানিক হওয়ার দরকার নেই - একটি নোটবুকে ট্যালি রাখা আপনার পক্ষে ভাল হতে পারে।
ডিজাইন পর্যায় ত্রুটি
যদি আপনি দেখতে পান যে আপনার বেশিরভাগ ত্রুটি সমস্যা বিবরণের ভুল বোঝাবুঝি থেকে এসেছে বা আপনি যদি সমস্যাগুলি সমাধানের জন্য অনুসরণ করার জন্য ভুল অ্যালগরিদম বা পথটি বেছে নিয়ে থাকেন তবে আপনার নকশার পর্যায়ে সমস্যা রয়েছে।
প্রকল্পের শুরুতে আপনাকে আরও সময় দেওয়া এবং ঠিক কী করা দরকার এবং কীভাবে এটি করা উচিত তা লিখতে আপনার মনোমুগ্ধকর হবে। এই কাজটি সাবধানতার সাথে পর্যালোচনা করুন এবং আসল সমস্যাটি আবার দেখুন এবং নির্ধারণ করুন যে আপনি সত্যিই সঠিক উপায়ে এটি মোকাবেলা করছেন কিনা। শুরুতে অতিরিক্ত ঘন্টা বা তিনটি আপনাকে রাস্তায় নেমে বেশ কয়েক ঘন্টা বাঁচাতে পারে।
কোডিং ত্রুটি
যদি আপনার নকশাটি শক্ত হয় তবে আপনি যে ভাষাটির সাথে কোড করছেন সেটি ক্রমাগত লড়াই করছেন, নিজেকে এমন কিছু সরঞ্জাম পান যা আপনার কোডটি আপনার জন্য বিশ্লেষণ করবে এবং আপনাকে খুব তাড়াতাড়ি এবং প্রায়ই সতর্ক করে দেবে যে আপনি ভুল করছেন।
আপনি যদি সি তে প্রোগ্রামিং করে থাকেন তবে সমস্ত সংকলক সতর্কতা চালু করুন, একটি শব্দার্থ পরীক্ষাকারী পছন্দ করুন lint
এবং valgrind
সাধারণ গতিশীল-মেমরি সম্পর্কিত সমস্যাগুলি ধরার জন্য একটি সরঞ্জাম ব্যবহার করুন ।
আপনি যদি পার্ল প্রোগ্রামিং করে থাকেন তবে চালু করুন strict
এবং warnings
এটি কী বলে তা মনোযোগ দিন।
আপনি কোন ভাষাটি ব্যবহার করছেন তা বিবেচনা না করেই, ডিবাগিং পর্যায়ে পৌঁছানোর অনেক আগে সাধারণ ভুলগুলি ধরতে সহায়তা করার জন্য সম্ভবত সেখানে প্রচুর সরঞ্জাম উপস্থিত রয়েছে।
ইন্টিগ্রেশন পর্যায় ত্রুটি
ভাল মডুলারালিটি অনুশীলনগুলি অনুসরণ করে আপনি যখন আপনার কোড বিকাশ করছেন, আপনাকে পৃথক টুকরা একসাথে আঠালো করতে হবে। উদাহরণস্বরূপ, আপনার কোডের বিভিন্ন বিভাগ ব্যবহারকারীর ইনপুট, ডাটাবেস ইন্টারঅ্যাকশন, ডেটা ডিসপ্লে, অ্যালগরিদম / লজিকের সাথে করণীয় করতে পারে এবং এগুলির প্রত্যেকটি একে অপরের তুলনায় অপেক্ষাকৃত স্বতন্ত্রভাবে নির্মিত হয় (এটি, আপনি হাতের অংশটিতে মনোনিবেশ করার প্রবণতা রাখেন বরং সমস্ত কিছুর সাথে একীকরণের বিষয়ে চিন্তা করার চেয়ে)।
টেস্ট চালিত বিকাশ (টিডিডি) এখানে খুব কার্যকর হয়। আপনার কোডের প্রতিটি মডিউলে পরীক্ষা থাকতে পারে যা যাচাই করে যে তারা কীভাবে ডিজাইন করা হয়েছিল সে অনুযায়ী কাজ করে। এই পরীক্ষাগুলি হয় প্রথমে বা প্রক্রিয়া শুরুতে খুব প্রথম দিকে লেখা উচিত যাতে আপনাকে সততা রাখতে "সহায়তাকারী" এর একটি সেট থাকতে পারে। আপনি যখন সমস্ত কিছু একসাথে কাজ করা শুরু করেন এবং আপনি দেখতে পান যে কীভাবে এটি প্রয়োগ করা হয় বা অন্য উপ-সিস্টেমের সাথে ইন্টারঅ্যাক্ট করে তা আপনাকে পরিবর্তন করতে হবে, আপনি যা করেছেন তা নিশ্চিত করার জন্য আপনি নিজের পরীক্ষায় ফিরে যেতে পারেন এটি সমস্ত একসাথে কাজ করে কোডের সঠিকতা ভঙ্গ করে না।
এবং তাই ...
সফ্টওয়্যার ইঞ্জিনিয়ারিং এবং ব্যবহারিক কোডিং কৌশলগুলি সম্পর্কে কয়েকটি বই তুলে নিন এবং আপনি বিকাশকে কম বিশৃঙ্খলাযুক্ত এবং আরও নির্ভরযোগ্য করার বিভিন্ন উপায় শিখবেন। আপনি এটি খুঁজে পাবেন যে কেবল সাধারণ পুরানো অভিজ্ঞতা - হার্ড নাকের স্কুল থেকে একটি ডিগ্রি অর্জন করুন - আপনাকেও আকৃতিতে রূপ দেবে।
প্রায় সমস্ত কি কি উত্সাহিত করে তা হ'ল সামান্য সময় এবং কাজের অগ্রগতি পরে বিকাশ / প্রকাশের প্রক্রিয়াতে বিশাল লভ্যাংশে অর্থ প্রদান করে।
আপনার ক্যারিয়ারের প্রথম দিকে আপনি এই বিষয়গুলি লক্ষ্য করেছেন এই বিষয়টি আপনার ভবিষ্যতের পক্ষে ভাল কথা বলেছে এবং আমি আপনাকে শুভকামনা জানাচ্ছি।