বিগ বলের অফ মড কোড-বেসের অতীতের অভিজ্ঞতা থেকে যা বহু বছর ধরে অনেক অব্যবহৃত জুনিয়র বিকাশকারীদের হাতে প্রাকৃতিকভাবে বিকশিত হয়েছিল, আমি যখন আপনি এই বিকাশকারীদের সাথে সিআই অনুশীলন না করেন তখন কী হতে পারে তা উল্লেখ করতে চাই ।
সম্পাদনা / আপডেট : রাবারডাকের মন্তব্য অনুসারে; এই উত্তরটি ধরে নিয়েছে যে ইন্টিগ্রেশনের জন্য আপনার সংযুক্তির লক্ষ্যটি মূল্যায়ন বা প্রকাশের শাখার পরিবর্তে একটি উন্নয়ন শাখা।
- স্পষ্টতই মুক্তি এবং লাইভ মোতায়েনের জন্য কোডের উপর আরও অনেক বেশি নিয়ন্ত্রণ থাকা দরকার; যদি আলাদা উত্পাদন শাখা না থাকে তবে মাস্টার রিলিজ শাখার পাশাপাশি মাস্টার ডেভলপমেন্ট শাখা (যা ইন্টিগ্রেশন পরীক্ষার জন্য ব্যবহৃত হয় এবং কখনই প্রকাশের জন্য ব্যবহৃত হয় না) চালানোর জন্য আপনার শাখা / মার্জ কৌশলতে পরিবর্তনের বিষয়টি বিবেচনা করা উপযুক্ত। এটি সিআইয়ের সমস্ত সুবিধা এবং ঘন ঘন একত্রিত করে কোডের বিরতি ছাড়াই সংযুক্ত করে।
১. জুনিয়র বিকাশকারীরা তাদের সহকর্মী বা সুপারভাইজারের সাথে যোগাযোগের সম্ভাবনা কম
অবিচ্ছিন্ন ইন্টিগ্রেশন কেবল কোডে একত্রিত হওয়ার বিষয় নয়, এটি সময়ের মধ্যে এমন একটি বিষয় যার দ্বারা কোনও বিকাশকারী অন্যান্য স্টেকহোল্ডারদের সাথে যোগাযোগ করতে বাধ্য হন।
যোগাযোগ গুরুত্বপূর্ণ, এবং অতিরিক্ত-সাধারণকরণের ইচ্ছা না করে, এটি একটি শিক্ষিত দক্ষতা হিসাবে প্রবণতা অর্জন করে যা একটি দলের পরিবেশে কাজ করতে অভ্যস্ত ব্যক্তিদের চেয়ে অনভিজ্ঞ বিকাশকারীদের কাছে কম স্বাভাবিকভাবে আসে।
আপনি যদি জুনিয়র বিকাশকারীদের ঘন ঘন প্রতিবেদন / পর্যালোচনা না জিজ্ঞাসা না করে সপ্তাহের জন্য তাদের ঘনক্ষেত্রে বসে এবং কোডে বাশ করার অনুমতি দেন তবে তারা পুরোপুরি যোগাযোগ এড়ানোর সম্ভাবনা বেশি থাকে।
২. তারা যে কোডটি তৈরি করছে তাদের সম্ভবত আরও কঠোর পর্যালোচনা প্রয়োজন
আপনি কি কখনও এমন খারাপ কিছু যা পর্যালোচনা করেছেন যা আপনি ইচ্ছে করেছেন যে আপনি এটি আগে তুলেছেন এবং এটি কখনও লেখা থেকে রোধ করেছেন? এটি অনেক কিছু ঘটে।
আপনি খারাপ কোডটি লিখিত হওয়া থেকে আটকাতে পারবেন না, তবে আপনি সময় নষ্ট করা সীমাবদ্ধ করতে পারেন। আপনি যদি ঘন ঘন পর্যালোচনা এবং মার্জ করতে প্রতিশ্রুতিবদ্ধ হন তবে আপনি নষ্ট সময়ের সুযোগ কমিয়ে দিন।
সবচেয়ে খারাপ-পরিস্থিতিটি হল আপনি কোনও জুনিয়র বিকাশকারীকে তাদের নিজস্ব ক্ষুদ্র প্রকল্পে কয়েক সপ্তাহের জন্য একা রেখে যেতে পারেন এবং শেষ পর্যন্ত তারা কোড পর্যালোচনার জন্য প্রস্তুত হয়ে গেলে তাদের পুরো মেস ছুঁড়ে দেওয়ার মতো পর্যাপ্ত সময় আর নেই isn't দূরে এবং স্ক্র্যাচ থেকে আবার শুরু করুন।
অনেক প্রকল্প কাদামাটির একটি বড় বল হয়ে যায় কারণ পুরো দের কোডটি যখন খুব বেশি দেরি না হওয়া পর্যন্ত মনোযোগ দিচ্ছিল না তখন পুরো কোডটি লেখা হয়েছিল।
৩. আপনার কোনও জুনিয়র বিকাশকারী বা অন্য নতুন দলের সদস্য প্রয়োজনীয়তাগুলি বুঝতে পেরেছেন তা কম-সুনিশ্চিত হওয়া উচিত
কখনও কখনও কোনও বিকাশকারী ভুল সমস্যার নিখুঁত সমাধান তৈরি করতে পারে; এটি দুঃখজনক কারণ এগুলি সাধারণত সাধারণ ভুল বোঝাবুঝির দিকে ঝুঁকিতে পড়ে যা এড়ানো এত সহজ যে যদি প্রক্রিয়াটিতে কেবলমাত্র কেউ সঠিক প্রশ্ন (গুলি) জিজ্ঞাসা করে।
আবার, এটি এমন একটি সমস্যা যা অনভিজ্ঞ বিকাশকারীদের প্রভাবিত করার সম্ভাবনা বেশি যারা সম্ভবত পিছনে চাপ দেওয়া এবং প্রয়োজনীয়তার জ্ঞান নিয়ে প্রশ্ন করার পরিবর্তে মুখের মানটিতে "খারাপ" প্রয়োজনীয়তাগুলি গ্রহণ করতে পারে।
৪. তারা সাধারণ কোডগুলি, বিদ্যমান কোডের আর্কিটেকচার, এবং সুপরিচিত সরঞ্জাম এবং সমাধানগুলির সাথে কম পরিচিত হওয়ার সম্ভাবনা রয়েছে familiar
কখনও কখনও কোনও বিকাশকারী চাকাটিকে অযথা পুনরায় উদ্ভাবনে পুরো সময় ব্যয় করে কারণ তারা জানত না যে আরও ভাল সমাধানের অস্তিত্ব রয়েছে। অথবা তারা ভুল করছে কি না তা বুঝতে পেরে একটি বৃত্তাকার খোঁচায় একটি বৃত্তাকার খোঁচায় হাতুড়ি দেওয়ার চেষ্টা করতে দিন কাটাতে পারে।
আবার, এই ধরণের জিনিসটি অনভিজ্ঞ ডেভেলপারদের ক্ষেত্রে হওয়ার সম্ভাবনা বেশি এবং সমস্যাটি সমাধান করার সর্বোত্তম উপায় হ'ল নিয়মিত পর্যালোচনা নিশ্চিত করা।
৫. কোড কমিট / মার্জগুলির মধ্যে দীর্ঘ সময় ধরে ত্রুটিগুলি সনাক্তকরণ এবং সংশোধন করা আরও শক্ত করে তোলে
যখন বেশ কয়েক সপ্তাহের কোডের পরিবর্তনগুলি মাস্টার ব্রাঞ্চে মিশে যাওয়ার পরে তত্ক্ষণাত একটি বাগটি উত্থিত হয়, তখন কোন পরিবর্তনটি ত্রুটিটি আরও জটিল হয়ে উঠেছে তা চিহ্নিত করার চ্যালেঞ্জ।
স্পষ্টতই আপনার সামগ্রিক শাখা কৌশলটি এখানে কার্যকর হয়; আদর্শভাবে আপনার সমস্ত বিকাশকারী হয় হয় তাদের নিজস্ব শাখায়, বা বৈশিষ্ট্য শাখাগুলির মধ্যে (বা উভয়) কাজ করবে এবং কখনই সরাসরি মাস্টার / ট্রাঙ্কের বাইরে কাজ করবে না।
আমি এমন পরিস্থিতি দেখেছি যেখানে পুরো দলগুলি একই সাথে সরাসরি মাস্টার / ট্রাঙ্কের সাথে কাজ করে, এবং এটি সিআইয়ের জন্য এক ভয়ানক পরিবেশ, তবে ভাগ্যক্রমে সবাইকে মাস্টার / ট্রাঙ্ক থেকে দূরে সরিয়ে দেওয়ার সমাধানটি পৃথক কাজের জন্য পর্যাপ্ত স্থায়িত্ব সরবরাহ করে provides আইটেম / টিকেট / ইত্যাদি।
যে কোনও বিকাশকারীকে মাস্টার / ট্রাঙ্ক শাখা ভাঙ্গার জন্য সর্বদা "ঠিক আছে" হওয়া উচিত , এই বোঝার সাথে যে মার্জ হওয়াটি নিয়মিতভাবে হওয়া উচিত, ব্রেকিং পরিবর্তন এবং ত্রুটিগুলি আরও দ্রুত চিহ্নিত করা উচিত, এবং সেইজন্য আরও দ্রুত সমাধান করা উচিত। সবচেয়ে খারাপ ত্রুটিগুলি সাধারণত সেগুলি হয় যা কয়েক মাস বা এমনকি কয়েক বছর অবধি সনাক্ত থাকে না।
সংক্ষেপে; অবিচ্ছিন্ন একীকরণ / অবিচ্ছিন্ন স্থাপনার প্রধান সুবিধা হ'ল:
- আপনার দলের মধ্যে যোগাযোগ উন্নত
- কোডের মানটি সাধারণত উচ্চতর মান বজায় থাকে
- প্রয়োজনীয়তাগুলি মিস করা বা ভুল ব্যাখ্যা করা কম হয়
- আর্কিটেকচার এবং ডিজাইনের সমস্যাগুলি আরও দ্রুত সনাক্ত করা উচিত,
- পূর্বের পর্যায়ে ত্রুটিগুলি সনাক্ত এবং সংশোধন করার সম্ভাবনা বেশি থাকে
সুতরাং আপনি যদি নিজের জুনিয়র বিকাশকারীদের সাথে সিআই অনুশীলন না করে থাকেন তবে আপনি প্রচুর পরিমাণে অপ্রয়োজনীয় ঝুঁকি গ্রহণ করছেন, কারণ এগুলি আপনার দলের সদস্য যারা বাকিদের চেয়ে বেশি প্রয়োজন need
it is more scary to wait a week to deploy all micro services at once to make sure that everything works together, than to strictly enforce api versioning, write lots of automatic tests (...), and auto deploy to production as soon as your commit passes as tests on stage
- এটি মতামত ভিত্তিক;) আইএমএইচও একক একাধিক পদ্ধতির চেয়ে স্বতন্ত্র পরিষেবা মোতায়েনের সাথে সাফল্য নিশ্চিত করা অনেক বেশি কঠিন: সফ্টওয়্যারেনজিনিয়ারিং.স্ট্যাকেক্সেঞ্জাও / এ / 342346/187812 । এবং সত্য সিআই (কোনও বৈশিষ্ট্য / একীকরণ শাখা নেই) এর সাথে আপনার এক সপ্তাহ অপেক্ষা করতে হবে না।