সারসংক্ষেপ
আমার জন্য, সংস্করণ সফ্টওয়্যারটির একমাত্র নির্ভরযোগ্য উপায় হ'ল হ্যাশ বা আপনার সংস্করণ নিয়ন্ত্রণ সিস্টেম থেকে পরিবর্তন সেটেন্ডিফায়ার ব্যবহার করা।
সামগ্রিক বিল্ড সংস্করণ নম্বরটি দরকারী হতে পারে তবে এটির সত্যিকার অর্থেই অনন্য হওয়ার গ্যারান্টি দেওয়া যদি আপনার কাছে একটি বিল্ড সার্ভার থাকে এবং / অথবা আপনি প্রতিটি প্রকাশে স্বাক্ষর করেন। যদিও আমাদের অনেকের পক্ষে, এটি কেবল কার্যকর নয়।
যদি আপনার প্রকল্পটি একাধিক সংস্করণ নিয়ন্ত্রণের ভাণ্ডারগুলিতে বিভক্ত হয় তবে আপনাকে এমন একটি ব্যবস্থাও তৈরি করতে হবে যার মাধ্যমে আপনার ইউজার ইন্টারফেসটি প্রতিটি নির্ভরশীল সংগ্রহস্থলকে জিজ্ঞাসা করতে পারে এবং এটির হ্যাশটি ব্যবহারকারীকে ফিরিয়ে দিতে পারে report
ব্যক্তিগত অভিজ্ঞতা থেকে উদাহরণ
পূর্ববর্তী নিয়োগকর্তার একটি প্রকল্পে, যেখানে আমাদের (অভ্যন্তরীণ) গ্রাহক সংশোধন করার সফ্টওয়্যার এবং এটি পুনরায় সংশোধন করার ক্ষেত্রে আমাদের সমস্যা ছিল, আমি একটি প্রক্রিয়া চালু করেছি যার মাধ্যমে প্রতিটি অ্যাপ্লিকেশন এবং লাইব্রেরিতে পার্শ্বযুক্ত হ্যাশগুলি সংকলিত হয়েছিল। যখনই সফ্টওয়্যারটি শুরু হয়েছিল, সমস্ত সফ্টওয়্যার উপাদান জিজ্ঞাসা করে একটি সংশোধনী স্ট্রিং তৈরি করা হয়েছিল।
আপনি যখন প্রায় পৃষ্ঠায় গিয়েছিলেন এবং প্রতিবার অ্যাপ্লিকেশন শুরু হওয়ার পরে লগ ফাইলে লেখা হয়েছিল তখন এই পুনর্বিবেচনার স্ট্রিংটি প্রদর্শিত হয়েছিল। এটি রূপ ছিল:
Application name (6a72e7c61f54)
Library1 (b672a13a41e1)
Library2 (9cc35769b23a)
Library2 (9cc35769b23a)
Library3 (4e9f56a0186a+)
Library2 (9cc35769b23a)
Library4 (2e3b08c4ac76)
Library1 (b672a13a41e1)
Library2 (9cc35769b23a)
এগুলি থেকে আমি সহজেই দেখতে পেলাম যে তারা লাইব্রেরি 3 সংশোধন করবে এবং সংগ্রহস্থলগুলিতে এই পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ ছিল না, তাই তারা নিয়ন্ত্রণ করা হয়নি এমন কোড ব্যবহার করছে। আমি আমার বর্তমান পরীক্ষার সিস্টেমের সাথে হ্যাশগুলিও তুলনা করতে পারি, সুতরাং আমি সনাক্ত করতে সক্ষম হতে পারি যে তারা লাইব্রেরি 1টিকে পুরানো সংস্করণে ফিরিয়ে দিয়েছে (বলে)।
এর অর্থ হ'ল তারা যখনই কোনও ত্রুটি জানায়, সমস্যাটি হওয়ার সময় আমি সর্বদা ব্যবহৃত কোডটি পুনরায় তৈরি করতে পারতাম বা খুব কমপক্ষে নিশ্চিতভাবেই জানতাম যে আমি সেটআপটি পুনরুত্পাদন করতে পারিনি।
আমি যে বিল্ড সিস্টেমটি ব্যবহার করেছি তার আরও বিশদের জন্য, আমি এটি কীভাবে সম্পাদন করেছি, আমার কী সমস্যা হয়েছিল এবং লোকেরা কী এড়াতে পরামর্শ দিয়েছে, আমার স্ট্যাক ওভারফ্লো প্রশ্নটি দেখুন ।
দ্রষ্টব্য: আপনি যদি একটি রিভিশন কন্ট্রোল সিস্টেম ব্যবহার করেন তবে এই ব্যবস্থাটি কেবলমাত্র কার্যকর হবে যদি কোনও প্রদত্ত হ্যাশ আপনার কার্যনির্বাহী ডিরেক্টরিতে (যেমন গিট এবং মুর্যুয়াল) একই ফাইলের ফলাফলের নিশ্চয়তা দেয় তবে যদি প্রদত্ত কার্যকরী ডিরেক্টরিতে ফাইলগুলির মিশ্রণ থাকতে পারে এবং বেশ কয়েকটি সংশোধনী (উদাহরণস্বরূপ svn) থেকে ডিরেক্টরিগুলি তখন কার্য বজায় থাকা ডিরেক্টরিগুলির অবস্থা সম্পর্কিত সমস্ত বেট বন্ধ রয়েছে এবং এই পদ্ধতিটি মোটেই কাজ করবে না।