সংস্করণ নিয়ন্ত্রণ প্রতিশ্রুতিবদ্ধ বনাম বনাম রিফ্যাক্টরিং এবং ডকুমেন্টেশন সংরক্ষণ করা


11

সংস্করণ নিয়ন্ত্রণ সিস্টেম দ্বারা পরিচালিত প্রতিশ্রুতিবদ্ধ ইতিহাসটি ব্যবহার করতে প্রায় কিছুই খরচ হয় না। তবে একটি বড় প্রকল্প রিফ্যাক্টরিংয়ের (বা পুনর্গঠন / ক্লিনআপ) প্রচেষ্টার সময়, ফাংশন এবং ক্লাস এবং এমনকি নেমস্পেসগুলি সরানো হবে; কখনও কখনও বেশ কয়েকটি ফাইল একত্রে একত্রিত হয়ে যায় এবং অন্যান্য ফাইলগুলি বিভক্ত হয়ে যায়। এই পরিবর্তনগুলি প্রায়শই কয়েকটি ফাইলের মূল প্রতিশ্রুতিবদ্ধ ইতিহাস হারাতে পারে।

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

তদুপরি, ইউনিট পরীক্ষার ব্যবহারের সাথে সাথে, রিগ্রেশন সম্পর্কিত সমস্যাগুলি দ্রুত চিহ্নিত করা যায়। যতক্ষণ না সর্বশেষতম সংস্করণটি সমস্ত সফ্টওয়্যার প্রয়োজনীয়তা পূরণ করে চলেছে, আমাদের কি সোর্স কোডের ইতিহাস সংরক্ষণ করার দরকার আছে?

আমি বুঝতে পারি যে কোনও প্রেরিত উত্স কোড অবশ্যই গ্রাহকদের একটি বড় সংস্করণ আপগ্রেড করার প্রয়োজন ছাড়াই সহায়তা সরবরাহ করার প্রয়োজনীয়তার কারণে সংরক্ষণ করা উচিত। তবে এগুলি বাদ দিয়ে সোর্স কোড কমিট করার ইতিহাস রাখার কোনও মূল্য আছে কি?

ইতিহাসের প্রতিশ্রুতিবদ্ধ কোড কি দলের সদস্যদের মধ্যে যোগাযোগের ক্ষেত্রে কোনও ভূমিকা পালন করে? আমরা যদি প্রতিশ্রুতিবদ্ধ ইতিহাসটি বাতিল করে দিই, তবে পরিবর্তে যোগাযোগের জন্য "উত্স কোড" + "ইউনিট টেস্টিং কোড" এর উপর নির্ভর করি?

প্রতিশ্রুতিবদ্ধ ইতিহাসের অস্তিত্ব কি প্রকল্প সম্পর্কে গুরুত্বপূর্ণ তথ্যের দীর্ঘমেয়াদী ডকুমেন্টেশন যেমন কোনও বড় নকশা / প্রয়োজনীয় পরিবর্তন এবং এই পরিবর্তনগুলিকে ডেকে আনে এমন চিন্তার ধারাগুলি সম্পর্কে কি আত্মতুষ্ট করে তোলে?


3
আপনি কোন সোর্স কোড সিস্টেমটি ব্যবহার করছেন তার উপর নির্ভর করে সংস্করণ ইতিহাস ফাইল মুভ এবং নোটনোট দিয়েও সংরক্ষণ করা হবে। মুছে ফেলা ফাইলগুলির ইতিহাস এখনও অ্যাক্সেসযোগ্য হওয়া উচিত। এবং শেষ পর্যন্ত কী বিষয়গুলি চূড়ান্ত ফলাফলের ইতিহাস। দশম শ্রেণি Y এবং Z এর ক্লাসগুলির সংমিশ্রণ হতে পারে তবে ইতিহাস আপনাকে জানাবে যে (বিশেষত যদি আপনার ভাল চেকইন মন্তব্য থাকে) এবং আপনি এখনও মূলগুলিতে ফিরে পেতে পারেন। আমি কি এখানে কিছু মিস করছি?
অ্যাডাম লিয়ার

1
These changes often lead to the loss of the original commit history of a few files.যেমন "গিট দোষ" এ একবার দেখুন - কিছুই হারিয়ে যায় না। কখনও কখনও এটি খুঁজে পেতে কিছুটা কঠিন হতে পারে তবে এটি সর্বদা থাকে।
মার্টিনাস

1
বৃহত রিফ্যাক্টরিংয়ের মাধ্যমে উত্স নিয়ন্ত্রণ আপডেটের পরিকল্পনা ও পরিকল্পনা করার জন্য কিছুটা সময় নেওয়া উচিত। প্রায়শই একটি ন্যূনতম বা ছোট অতিরিক্ত প্রচেষ্টা সহ আরও অনেক তথ্য সংরক্ষণ করা যায়। উদাহরণস্বরূপ, আপনি যদি কোনও ফাইলকে 3 টুকরো করে বিভক্ত করেন, প্রথমে মূলটির অনুলিপিটি তার 3 টি প্রতিস্থাপনের মধ্যে সংরক্ষণ করুন; তারপরে আরও তিনটি সংশোধন করার প্রতিশ্রুতিবদ্ধ ...
UUDdLrLrSs

উত্তর:


5

"করা পরিবর্তন" বা "স্থির ত্রুটি" টাইপ মন্তব্যগুলির চেয়ে বেশি সংঘবদ্ধ ইতিহাস ব্যবহার করতে, এটি আপনার সমস্যা ট্র্যাকিং সিস্টেমের সাথে যুক্ত করা উচিত। প্রতিটি পরিবর্তনের, প্রতিটি প্রতিশ্রুতিবদ্ধ হওয়ার সাথে এর সাথে কিছু সমস্যা যুক্ত হওয়া উচিত যাতে আপনি কীভাবে পরিবর্তিত হয়েছেন, কার দ্বারা এবং কেন হয়েছে তা জানেন।

যতক্ষণ না সর্বশেষতম সংস্করণটি সমস্ত সফ্টওয়্যার প্রয়োজনীয়তা পূরণ করে চলেছে, আমাদের কি সোর্স কোডের ইতিহাস সংরক্ষণ করার দরকার আছে?

পর্যাপ্ত জটিল সফ্টওয়্যারটিতে খুব কমই সমস্ত প্রয়োজনীয়তা প্রয়োগ করা হয়েছে এবং সমস্ত ত্রুটিগুলি বহু কারণে সংশোধন করা হয়েছে, সুতরাং আমি এখানে আপনার দৃ your়তা মনে করি, আসুন আমরা আশাবাদী say

মনে করুন আপনি আপনার প্রোগ্রামের 8.৮ সংস্করণে রয়েছেন। তবে আপনি ক্ষেত্রটিতে, 12 টি বিভিন্ন সক্রিয় সংস্করণ, যেমন 1.6, 2.2, 2.8, এবং সমর্থন করছেন। এগুলির প্রত্যেকটি বিভিন্ন কারণে সর্বশেষতম সংস্করণে আপগ্রেড করা হবে না, তাই আপনি বাগ ফিক্স দিয়ে সমস্তকে সমর্থন করছেন। একজন গ্রাহক আপনার সর্বশেষ 7.8 প্রকাশে একটি বাগ খুঁজে পেয়েছে। আপনি এটি 7.8 এ ঠিক করুন। আপনি কীভাবে জানবেন যে অন্যান্য কতগুলি রিলিজ ঠিক করা দরকার? উত্স ইতিহাস এবং ইস্যু ট্র্যাকিং ছাড়া আপনি করবেন না।


7

উত্স কোড ইতিহাসের মান সন্দেহজনক বলে মনে হচ্ছে।

ইঞ্জিনিয়ারদের কয়েক বছর পিছনে সোর্স কোডে ফিরে যেতে হয়েছিল কারণ কেন কিছু হচ্ছে তার উত্তর খুঁজতে চাই। কিছু সময় সময়ের সাথে জিনিসগুলি যেভাবে বিকশিত হয়েছিল তা বাগ বোঝার জন্য গুরুত্বপূর্ণ, তবে জিনিস নথিভুক্ত করার সময় এটি সাধারণত এমনভাবে চিন্তা করা যায় না (এমনকি এটি প্রয়োজনীয়ভাবে দলিলযোগ্যও নয়)।

এছাড়াও, উত্স কোডের ইতিহাস রাখার জন্য খুব ভাল আইনী কারণ থাকতে পারে। বেশিরভাগ সোর্স কোড ডাম্পস্টার-ডাইভিং যা আমাকে করতে হয়েছিল (একটি বিল্ড / এসসিএম ইঞ্জিনিয়ার হিসাবে) আমার সংস্থার আইন বিভাগের অনুরোধে ছিল।


1
ব্যক্তিগতভাবে আমি দেখতে পেলাম যে ইতিহাসটি একবারে দেখা খুব বিরল, যখন যখন এটি করার দক্ষতার প্রয়োজন হয় তখন এটি অত্যন্ত মূল্যবান। তাই ইতিহাস সংরক্ষণের পক্ষে যখন এটি করা ব্যবহারিক হয় favor
UUDdLrLrSs

3

যতক্ষণ না সর্বশেষতম সংস্করণটি সমস্ত সফ্টওয়্যার প্রয়োজনীয়তা পূরণ করে চলেছে, আমাদের কি সোর্স কোডের ইতিহাস সংরক্ষণ করার দরকার আছে?

তবে এগুলি বাদ দিয়ে সোর্স কোড কমিট করার ইতিহাস রাখার কোনও মূল্য আছে কি?

হ্যাঁ কখন কী কারণে এবং কেন পরিবর্তন হয়েছিল তা জেনে রাখা কার্যকর হতে পারে। আপনি যদি ইতিহাস হারিয়ে ফেলেন তবে এটি করার আপনার ক্ষমতাকে প্রভাবিত করা হবে।

ইতিহাসের প্রতিশ্রুতিবদ্ধ কোড কি দলের সদস্যদের মধ্যে যোগাযোগের ক্ষেত্রে কোনও ভূমিকা পালন করে? আমরা যদি প্রতিশ্রুতিবদ্ধ ইতিহাসটি বাতিল করে দিই, তবে পরিবর্তে যোগাযোগের জন্য "উত্স কোড" + "ইউনিট টেস্টিং কোড" এর উপর নির্ভর করি?

হ্যাঁ এটা করে. "উত্স কোড" + "ইউনিট পরীক্ষার কোড" কেবল আপনাকে / কখন / কেন করবে তা আপনাকে জানায় না।

প্রতিশ্রুতিবদ্ধ ইতিহাসের অস্তিত্ব কি প্রকল্প সম্পর্কে গুরুত্বপূর্ণ তথ্যের দীর্ঘমেয়াদী ডকুমেন্টেশন যেমন কোনও বড় নকশা / প্রয়োজনীয় পরিবর্তন এবং এই পরিবর্তনগুলিকে ডেকে আনে এমন চিন্তার ধারাগুলি সম্পর্কে কি আত্মতুষ্ট করে তোলে?

আমি মনে করি আপনি বলতে পারেন যে এটি করে। তবে কয়েকটি বিকাশকারী প্রয়োজনীয়তা / ডিজাইনের পরিবর্তনগুলি পুরোপুরি নথিভুক্ত করেন। এবং অবশ্যই প্রায় কেউই চিন্তার ধারাটিকে প্রাথমিক বিকাশ, বা পরবর্তী পরিবর্তনগুলি রেকর্ড করে না। কমিটের ইতিহাস (এবং বিশেষত কমিট লগ বার্তাগুলি) থাকা এবং ইস্যু / বাগ ট্র্যাকিং সিস্টেমে ক্রস লিঙ্কগুলি অন্ততপক্ষে আপনাকে কিছু দেওয়ার জন্য সরবরাহ করে। এবং এটি কিছুই না থেকে ভাল, বা রিলিজ স্ন্যাপশটের একটি সেট।


1
+1 এছাড়াও, যোগাযোগের জন্য কোডের উপর নির্ভর করার অর্থ হ'ল ইতিহাসে যে তথ্য থাকবে তা ডিআরওয়াই লঙ্ঘন করে মন্তব্যেও উপস্থিত রয়েছে।
ল্যারি কোলেম্যান

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