গিট ফ্লোয়ের মতো একত্রীকরণ কৌশলটি কি আসলেই একটি অ্যান্টি-প্যাটার্ন?


30

আমার সংস্থা গিট ব্যবহার করছে, এবং একটি অদ্ভুত শাখা পরিকল্পনা ব্যবহার করছে - কাজ মাস্টার্সে করা হয়, এবং শাখাগুলি প্রকাশের জন্য সংরক্ষিত থাকে। এটি সূক্ষ্মভাবে কাজ করে, যতক্ষণ না কোনও পুনরাবৃত্তিতে করা সমস্ত কাজ এটি শাখায় পরিণত করে, তবে একটি সমালোচনামূলক উত্পাদনের সমস্যা যদি সামনে আসে তবে আমাদের নিশ্চিত করতে হবে যে কাজটি কোনওভাবে এটি উভয় শাখায় পরিণত করে।

ইদানীং, আমরা এই শাখাগুলির সাথে কিছু "মজা" করছি। এটি প্রশাসনিক মাথাব্যথা ছিল, এটি নিশ্চিত করে যে কাজটি সমস্ত কাজকে প্রতিটি শাখায় পরিণত করে এবং কিছু শাখা যা একটি শাখায় স্থির করা হয়েছে সেগুলি কোনও ব্যক্তি এটি নির্দেশ না করা পর্যন্ত এটিকে মাস্টার হিসাবে তৈরি করে না into

আমি কিছুক্ষণ আগে গিট ফ্লো পেরিয়ে এসেছি এবং আমি অনুভব করি যে এটি আমাদের সমস্যার সমাধান হয়ে উঠবে - কোডটি মুক্তির সমস্ত পথে বা পিছনে পিছন দিকে না। একমাত্র ক্যাচটি হ'ল আমার সীসা জানিয়েছে যে এই ধরণের বিকাশ ছিল একটি বিরোধী ধাঁচ - দু'সপ্তাহ ধরে প্রচণ্ডভাবে বিকাশ করা, তারপরে মার্জ সংঘাতগুলি সমাধান করতে তিনটি ব্যয় করা।

আমি পুরোপুরি নিশ্চিত নই যে আমি একমত, এবং যেহেতু আমি এটি উত্থাপন করেছি, কাজটি স্বাভাবিকের মতো পুনরায় শুরু হয়েছে। সম্প্রতি সম্প্রতি আমাদের এটির সাথে কিছু বড় ব্যথা পয়েন্ট রয়েছে।

আমি জানতে চাই - কেন এই ধরণের উন্নয়ন স্কিমকে বিরোধী ধাঁচ হিসাবে দেখা হবে? আসলেই কি এটি একটি অ্যান্টি-প্যাটার্ন?


1
টেড ডিজিউবার পুরাতন ব্লগপোস্টের "বিধি 3" বিভাগটি কীভাবে এটি একটি বিরোধী নিদর্শন হতে পারে তা চিত্রিত করতে সহায়তা করতে পারে।
ইসেক্সেক

5
আইএমও, আপনি যত বেশি প্রকৃত সময় সংস্করণ নিয়ন্ত্রণের কথা চিন্তা করে ব্যয় করছেন, পুরো ব্যবহারকারীর -> সরঞ্জামের ঘটনাটি প্রথম স্থানে তার চেয়ে বেশি ভুল হয়েছে।
এরিক রেপেন

@ এরিক রেপ্পেন: আমি প্রত্যেকের মন সংস্করণ নিয়ন্ত্রণ থেকে সরিয়ে নিতে চাই এবং এমন একটি প্রক্রিয়া রাখতে চাই যাতে প্রত্যেকে অভ্যস্ত হয়ে যেতে পারে। এইভাবে, আমাদের যদি এমন কোনও বিষয় নিয়ে উদ্বিগ্ন হওয়ার দরকার নেই যে এটি কোনও অ্যান্টি-প্যাটার্ন বা না।
মাকোটো

6
@ মাকোটো যে কোনও কিছু যা KISS লঙ্ঘন করে তা হ'ল একটি অ্যান্টি-প্যাটার্ন, আইএমও। এখানেই ভিসিএস পাওয়ার ব্যবহারকারীরা আমাকে উন্মাদ করে তোলেন।
এরিক রেপেন

6
"অ্যান্টিপ্যাটার্ন" শব্দটি এক ধরণের "সেরা অনুশীলন" এর মতো, এটি প্রায়শই লোকদের মস্তিষ্ক বন্ধ করার অজুহাত হিসাবে কাজ করে। এই ধারণাটি গ্রহণ করবেন না যদি নেতৃত্ব আপনাকে পরিষ্কারভাবে বলতে না পারে যে সে এর সাথে কী অভিজ্ঞতা আছে এবং এটি কেন খারাপ।
কিরেলেসা

উত্তর:


30

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

এমনকি যদি আপনি গিট প্রবাহের বৈশিষ্ট্যযুক্ত শাখার দিকটি ব্যবহার না করেন, অন্য অংশগুলি আপনাকে পরিষ্কার মার্জ করে এবং আপনার পরিবর্তনগুলি সঠিক দিকে প্রচারিত হয় তা নিশ্চিত করতে কার্যকর।


3
বৈশিষ্ট্য শাখাগুলির সাথে আমার অভিজ্ঞতা, বা আমরা এগুলি যেভাবে করেছি, তা হ'ল যদি তাদের পুনরাবৃত্তির চেয়ে বেশি বাঁচার অনুমতি দেওয়া হয় তবে তাদের সাথে হৃদয় ব্যাথা হতে পারে। একটি নিয়মে বলা হয়েছে যে মুক্তির আগে সমস্ত বৈশিষ্ট্য অবশ্যই পুনরাবৃত্তির সাথে একীভূত করতে হবে, একত্রীকরণের বেদনা উপশম করতে - এবং ছেলে, আমরা কি এর পিছনে কিছু গুরুতর বেদনা পেয়েছি ...
মাকোটো

6
আমার অভিজ্ঞতা হ'ল আপনি যতক্ষণ না সাম্প্রতিক মাস্টারের সাথে একত্রীভূত থাকবেন বা যথাযথ হিসাবে বিকাশ করবেন ততক্ষণ আপনার কাছে স্থানীয় জিনিস থাকতে পারে।
জানু হুডেক

2
@ জাহুদেক ... বা আপনার দু'টি জিনিস শুয়ে থাকা না হওয়া পর্যন্ত এগুলি কোনও না কোনওভাবে সাংঘর্ষিক। এটি করা সম্পর্কে আপনার সর্বদা ওভারভিউ থাকা উচিত ...
জোহনেস

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

3
তুমি ঠিক বলছো. এগুলি কেবলমাত্র একটি বিরোধী-প্যাটার্ন যখন তারা একত্রিত না হয়ে দীর্ঘকাল বেঁচে থাকে। অন্তর্নিহিত কারণগুলি স্মরণ না করে কখনও কখনও লোকেরা এখনও একটি ধারণার বিরুদ্ধে যায়।
কার্ল বিলেফেল্ট

21

মার্জ করা একটি মজাদার জিনিস - যত কম ঘন ঘন এটি করা তত বেশি কঠিন হবে, তত বেশি কঠিন, লোকেরা এর থেকে তত বেশি ভয় পাবে, তত ঘন ঘন তারা এটি করবে।

সমাধানটি হয় শাখাগুলিকে খুব বেশি বিচ্যুত হওয়ার অনুমতি দেয় না, বা শাখা ব্যবহার করতে দেয় না।

লোকেরা যদি এটি বুঝতে পারে তবে আপনার সম্ভবত মার্জ হওয়ার সাথে খুব বেশি সমস্যা হবে না, তবে নাও - শাখা হতে পারে কিছু শিক্ষা ব্যতীত এটি ভাল ধারণা নয়।


1
না, শাখা ব্যবহার না করা একটি স্টার্টার নয়। অন্যান্য প্রাথমিক সমস্যাটি হ'ল একই কোডে দুটি ভিন্ন জায়গায় কাজ করা যায়, তাই আশা করি আমরা এটিও হ্রাস করতে কিছু করতে পারি।
মাকোটো

12
@ ম্যামকোটো, কোডে প্রায়শই জিনিসকে হ্রাস করা দ্বন্দ্বকে কম ঘন ঘন করে তোলে। এটি ফাংশন / শ্রেণিতে কোনও কার্যকারিতাটির সরল পৃথকীকরণ বা মডিউলগুলির মধ্যে অননুমোদিত অনুমানগুলি এড়ানো আরও উচ্চ-স্তরের হতে পারে। তারপরে পরিবর্তনগুলি আরও স্থানীয়করণ হয়।
maxim1000

1
@ maxim1000 আমি সম্মত আমার মনে হয় কেউ একবার এমন কিছু বলেছিলেন যে "এ ভিসিএস হ'ল মডুলার [অস্বীকৃত] আর্কিটেকচারের জন্য একজন দরিদ্র মানুষের বিকল্প"
8DH

প্রথম অনুচ্ছেদের জন্য +1। এবং হ্যাঁ, শিক্ষা ব্যতীত গিটফ্লো-এর মতো একটি মৃত
পরিণতি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.