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