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