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