যেহেতু লোকেরা সাধারণত খুব তাড়াতাড়ি নির্দেশ করে, সফ্টওয়্যারটির একটি সুবিধা হ'ল হার্ডওয়ারের তুলনায় এটি পরিবর্তন করা সহজ এবং তুলনামূলক কম সস্তা বলে মনে করা হয়। এটি বিশেষত গুরুত্বপূর্ণ যখন আপনি যখন দেরিতে বুঝতে পারেন যে আপনি মৌলিকভাবে কিছু ভুল পেয়েছেন। হার্ডওয়্যার দিয়েও একই কাজ করুন এবং আপনি এক মিলিয়ন ডলার হারাবেন, তাই আপনি যেমন বলেছিলেন, আপনি নিজের সিমুলেটর ইত্যাদি ব্যবহার করেন এবং আপনি এটি থেকে বাজিংটা পরীক্ষা করেন। এটি আমি মনে করি যেখানে আপনি সফ্টওয়্যারটিতে স্থানান্তরিত হলে দৃষ্টান্তটি কিছুটা ব্যর্থ হয়।
গড় সফ্টওয়্যার বিকাশকারীর মাথায় যান এবং আপনার কাছে যা আছে তা অবিশ্বাস্যভাবে টাইট সময়সীমার সাথে খুব ব্যস্ত ব্যক্তি with তাঁর পরিচালক বলছেন যে কয়েকটি বাগ ছেড়ে দেওয়া ঠিক আছে কারণ আপনি এটি সর্বদা পরে ঠিক করতে পারেন। টেস্টগুলি প্রায়শই একটি চিন্তাভাবনা হয় তবে পরীক্ষামূলক চালিত দৃশ্যেও পরীক্ষাগুলি ন্যূনতম এবং পরীক্ষাগুলির নূন্যতম লিখিত কোড রাখা হয় এবং প্রায়শই শর্টকাট নেওয়া হয় যাতে সীমান্তের অনেকগুলি ক্ষেত্রে হাতছাড়া হতে পারে। সিস্টেমটি সম্পূর্ণরূপে ইউনিট পরীক্ষিত হতে পারে তবে পুরোভাবে খুব কমই কঠোরভাবে পরীক্ষা করা হয়, এবং খুব কমই স্ট্রেস কোনও দুর্দান্ত ডিগ্রীতে পরীক্ষা করা হয়। এটিকে যুক্ত করুন যে আপনি স্ক্র্যাচ থেকে সফ্টওয়্যারটি লেখেন, এবং সফ্টওয়্যারটি লেখার আগে প্রতিশ্রুতি দেওয়ার আগে খুব কম সুযোগ পাওয়া যায়, প্রাথমিকভাবে কারণ আমরা হার্ডওয়ারে খুঁজে পাওয়া একই ধরণের দানাদার বিল্ডিং ব্লকগুলি থেকে সফ্টওয়্যারটি খুব কমই লিখি।
ওপি-র প্রশ্নে ফিরে আসুন। গেল আপনি যেখান থেকে আপনার সফ্টওয়্যার সব আহরণ করা ব্লক নির্মাণের একটি সিস্টেম সংজ্ঞায়িত? সম্ভবত। এটি খুব ব্যয় কার্যকর হবে? সম্ভবত তা নয়, কারণ আপনি এই আদর্শকে সমর্থন করার জন্য উপাদান, পরীক্ষা এবং অন্যান্য পরাশক্তিগুলির একটি শক্তিশালী পর্যাপ্ত সিস্টেম বিকাশ করতে চলেছেন theপ্রোগ্রামিং সিস্টেম, আপনি দেখতে পাবেন যে আপনার প্রতিযোগিতা ইতিমধ্যে আপনাকে বাজারে পরাজিত করতে পারে, এবং আরও খারাপ, গড় প্রোগ্রামারের দৃষ্টিকোণ থেকে আপনি সম্ভবত একটি "কুকি-কাটার" প্রোগ্রামিং সিস্টেমের স্টাইল খুব সীমিত এবং সম্ভবত খুব সম্ভবত দেখতে পাবেন বিরক্তিকর। আমি ব্যক্তিগতভাবে একটি এপিআই-তে কাজ করি, যেখানে মডিউল কোডের বেশিরভাগ অংশ পুরোপুরি পরিমার্জন করা হয়েছে এবং পুরোপুরি মানিককরণ করা হয়েছে, এখন আমি যা করি তা একটি কোড টেমপ্লেট উত্পন্ন করে ফাঁকা স্থান পূরণ করে। আমার বেশিরভাগ সময় সাধারণ সংযোজক কোডটি লেখার জন্য এবং মডিউলগুলি যত দ্রুত সম্ভব দরজার বাইরে বের করাতে ব্যয় করা যায়। এটা গুরুত্ব সহকারে মনের। বার বার একই ধরণের জিনিসগুলি কোড করার চেয়ে খুব বেশি সুযোগ নেই, সুতরাং যখন অন্য প্রকল্পের সুযোগ আসে তখন আমি অন্য কিছু করতে সক্ষম হওয়ার সুযোগে ঝাঁপিয়ে পড়ে।
তাহলে কীভাবে আপনি উচ্চমানের এবং ভাল ফ্যাক্টরযুক্ত সফ্টওয়্যার সরবরাহ করতে পারেন এবং এখনও নিজেকে এটি উপভোগ করতে পারেন? আমি বিশ্বাস করি এটি আপনার পছন্দসই সরঞ্জাম এবং পদ্ধতিগুলির মধ্যে নেমে আসে। আমার জন্য উত্তরটি হ'ল একটি ভাল বিডিডি এপিআই ব্যবহার করা হয়েছে, কারণ এটি আমাকে পড়তে খুব সহজ, তবুও উচ্চতর গ্রানুলার কোড তৈরি করতে দিয়েছে। আমি ন্যূনতম সংখ্যক পুনঃব্যবহারযোগ্য পদ্ধতিগুলির মধ্যে পরীক্ষার একটি স্যুট তৈরি করতে পারি এবং স্পেসিফিকেশনের ভাষায় আমার পরীক্ষাগুলির বর্ণনা দিতে পারি। এইভাবে, আমি বিল্ডিং ব্লকগুলি ডিজাইনের জন্য এবং পরীক্ষার জন্য দায়বদ্ধ এই বিষয়টি বাদ দিয়ে আমি আরও বেশি উপাদান-আকৃতির বিকাশের পদ্ধতির নিকটে এসেছি। তদ্ব্যতীত, পরীক্ষার ফলাফল আউটপুট যেখানে পরীক্ষার ব্যর্থতা ঘটে তার সঠিক অংশটি চিহ্নিত করে, যাতে ব্যর্থতা সেটআপে বা দৃser়তার সাথে থাকে কিনা তা অনুমান করার দরকার নেই।
আপনার পদ্ধতিটি টিউন করাও সহায়তা করে। আমি চর্বি বিকাশকারী প্রিন্সিপালগুলি প্রয়োগ করার জন্য এবং এগুলি সহ আরও অনেক কৌশল এবং প্রিন্সিপালের সাথে একত্রিত করার জন্য এক বড় প্রবক্তা, যা এখন বেশ কয়েক বছর ধরেই চৌকস আন্দোলনটি বেজায় চলছে। আমি যে হতাশাগুল খুঁজে পেয়েছি তার বেশিরভাগ অপব্যয় অনুশীলনগুলি অপসারণ করার ফলে বিকাশকে আরও উপভোগযোগ্য ক্রিয়াকলাপ তৈরি করতে এক বিরাট সহায়তা হয়েছে। আমি এখনও এই সমস্যাটি ছেড়ে দিয়েছি যে মাঝে মাঝে - তবে আশাকরি খুব বেশি নয় - আমার কোডগুলিতে বাগগুলি উপস্থিত হবে তবে আমি এখন নিজেকে আরও বেশি সময় দিয়ে খুঁজে পাই, আরও বেশি শক্তিশালী পরীক্ষা লেখার জন্য আরও বেশি সময় ব্যয় করতে আরও উত্সাহী এবং 100 এর লক্ষ্যবস্তু রেখেছি aim % পরীক্ষার কভারেজ। আরও ভাল, আমার দিনের শেষে এই সবুজ লাইটগুলি প্রদর্শিত দেখে সত্যিই দুর্দান্ত লাগছে,