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