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