আমি "ভাল ডিজাইন", "নকশার ধরণগুলি" ইত্যাদি সম্পর্কে বিভিন্ন বই পড়তে অনেক সময় ব্যয় করেছি আমি সলিড পদ্ধতির একটি বড় অনুরাগী এবং প্রতিবার যখনই আমি একটি সাধারণ কোডের লেখার দরকার পড়ে তখন আমি তার সম্পর্কে চিন্তা করি ভবিষ্যৎ. সুতরাং, যদি কোনও নতুন বৈশিষ্ট্যটি প্রয়োগ করা হয় বা কোনও বাগ ফিক্সের জন্য কেবল তিনটি লাইন কোড যুক্ত করা দরকার:
if(xxx) {
doSomething();
}
এর অর্থ এই নয় যে আমি এটি এভাবে করব। যদি আমার মনে হয় এই কোডটির এই অংশটি নিকটতম ভবিষ্যতে আরও বড় হওয়ার সম্ভাবনা রয়েছে তবে আমি বিমূর্ততা যুক্ত করার, এই কার্যকারিতা অন্য কোথাও স্থানান্তরিত করার বিষয়ে চিন্তা করব। আমি যে লক্ষ্যটি অনুসরণ করছি তা হ'ল আমার জটিলতার আগে গড় জটিলতাকে একই রকম করে রাখা keeping
আমি বিশ্বাস করি যে কোডের দৃষ্টিকোণ থেকে এটি বেশ ভাল ধারণা - আমার কোডটি কখনই পর্যাপ্ত হয় না এবং শ্রেণি, পদ্ধতি এবং শ্রেণি এবং অবজেক্টের মধ্যে সম্পর্কের মতো বিভিন্ন সত্ত্বার অর্থ বোঝা বেশ সহজ।
সমস্যাটি হ'ল এটি খুব বেশি সময় নেয় এবং আমি প্রায়শই মনে করি যদি আমি "বৈশিষ্ট্যটি ঠিক" এই বৈশিষ্ট্যটি প্রয়োগ করি তবে ভাল হয়। এটি কেবল "তিন লাইনের কোড" বনাম "নতুন ইন্টারফেস + সেই ইন্টারফেসটি বাস্তবায়নের জন্য দুটি শ্রেণি"।
একটি পণ্যের দৃষ্টিকোণ থেকে (যখন আমরা ফলাফল সম্পর্কে কথা বলি), আমি যে জিনিসগুলি করি তা যথেষ্ট বোকামি। আমি জানি যে আমরা যদি পরবর্তী সংস্করণে কাজ করতে যাচ্ছি, ভাল কোড থাকা সত্যিই দুর্দান্ত। তবে অন্যদিকে, আপনার কোডটি "ভাল" বানাতে আপনি যে সময় ব্যয় করেছেন তা বেশ কয়েকটি দরকারী বৈশিষ্ট্য প্রয়োগের জন্য ব্যয় করা হতে পারে।
আমি প্রায়শই আমার ফলাফলগুলির সাথে খুব সন্তুষ্ট বোধ করি - ভাল কোড যা কেবলমাত্র A করতে পারে তা খারাপ কোডের চেয়ে খারাপ যা এ, বি, সি এবং ডি করতে পারে worse
এই পদ্ধতির ফলে কোনও সফ্টওয়্যার প্রকল্পের জন্য ইতিবাচক নেট লাভের সম্ভাবনা রয়েছে, বা এটি সময় নষ্ট করে?