উত্স নিয়ন্ত্রণে কার্যকর মুছে ফেলা কোড রয়েছে কীভাবে তা নির্ধারণ করবেন?


9

সুতরাং আমি এই প্রশ্নটি পড়ছিলাম আমি কি অবাস্তবহীন কোডটি সরিয়ে ফেলি?

কিছু পরামর্শ হ'ল অযৌক্তিক কোড মুছে ফেলা যেহেতু পরবর্তী সময়ে প্রয়োজনের ক্ষেত্রে কোডটি রেফারেন্সের জন্য সোর্স নিয়ন্ত্রণে রয়েছে।

আপনি কীভাবে এই মুছে ফেলা কোডটি এমনভাবে সংগঠিত করেন যাতে আপনার পরবর্তী সংস্করণটি (বা অন্য কোনও প্রোগ্রামার) এটি পরে খুঁজে পেতে পারে? আপনি কি আলাদা শাখা তৈরি করেন বা কোনওভাবে উত্স নিয়ন্ত্রণে ট্যাগ করেন?

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


আপনি কোন ভিসি জিজ্ঞাসা করছেন? মত শোনায় SVN
মশা

আমার মনে আছে এসএনএন কী, তবে যে কোনও উত্স নিয়ন্ত্রণে প্রয়োগ করতে পারে, আমি মনে করি?
পিটার স্মিথ

আপনি বলছেন: "আমার মনে আরও যা আছে তা বাতিল বা প্রকল্পগুলি স্থগিত করা হয়" উত্তরের প্রতিক্রিয়াতে। আমি মনে করি আপনার প্রশ্নটি সম্পাদনা করা উচিত কারণ এটি "অনর্থনযুক্ত কোড" থেকে একেবারেই আলাদা।
পিটার বি

উত্তর:


6

আপনি যদি কোনও শাখায় পরীক্ষা নিরীক্ষা করেন এবং নিশ্চিত না হন যে সমাধানটি শেষ পর্যন্ত পুনরায় সংহত হবে, আপনি সাধারণত মুছে ফেলা কোডটি উল্লেখ করেন না

আপনি উপর পারে খুব বিরল অনুষ্ঠানে স্পষ্টভাবে সরানো কোড খনন যে আপনার অস্পষ্টভাবে একটি সমস্যা আপনার আছে সমাধানে প্রত্যাহার ডান এখন । তবে আপনি মুছে ফেলা কোডটি দেখতে পাওয়ার আরও সাধারণ কারণটি হ'ল আপনি যখন কোনও অ্যাপ্লিকেশনটির বর্তমান কোড বা itsতিহাসিক কোড বা আচরণের সাথে সম্পর্কিত আচরণের বিষয়ে কিছু বুঝতে ব্যাকলগটি সন্ধান করছেন।

বিশেষত, আপনি হতে পারেন ...

  • একটি সাধারণ কোড পর্যালোচনা করা / একটি চুল্লি বোঝা understanding
  • যে প্রতিশ্রুতিটি বাগ এক্স প্রবর্তন করেছে তা সন্ধান করছি
  • আপনার কৌতূহল সন্তুষ্ট / একটি বাগ সমাধান করেছে যে প্রতিশ্রুতি সন্ধান
  • কোনও বৈশিষ্ট্য বা অনুরূপ বৈশিষ্ট্য পুনরায় প্রয়োগ করা
  • কোড বা ডেটা বোঝার মতো মনে হচ্ছে এটি উপস্থিত নেই এমন কোডের সাথে কাজ করে

... ইত্যাদি

এবং এই ক্ষেত্রে আপনি সাধারণত পুরানো কোডটি পুনরুত্থিত করছেন না । আপনি প্রসঙ্গ বা নির্দেশিকার জন্য সরানো কোড ব্যবহার করে এখনই কিছু দেখতে পাচ্ছেন ।


4

আমার ধারণা, উত্তরটি হ'ল: বিশাল সংখ্যক প্রোগ্রামার মুছে ফেলা কোডটির রেফারেন্স করতে পারে না। বিভিন্ন কারণে. আমার মনে আসা কিছু কারণ হ'ল:

  • সম্ভবত সবচেয়ে গুরুত্বপূর্ণ, খাঁটি আলস্যতা ...

  • বেশিরভাগ লোকেরা কখনই কোনও কোড পুনরুত্থিত করার প্রয়োজন অনুভব করেনি, তাই তাদের কোনও অভিজ্ঞতা নেই যা তাদের পুনরুত্থান কোডকে আরও সহজ করার জন্য অনুপ্রাণিত করে।

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

    মনে রাখবেন এটি আবারও একটি মানসিক সমস্যা: বেশিরভাগ প্রোগ্রামাররা তাদের কাজের ফলাফল নিয়ে বেশ গর্বিত। কীভাবে এটি কখনই মনে হতে পারে যে তারা প্রতিস্থাপন করেছিল তার কিছু মূল্য এখনও আছে?

  • যেহেতু বেশিরভাগ কোড বিশুদ্ধরূপে মুছে ফেলা হয় না, তবে প্রতিস্থাপন করা হয়েছে, ইন্টারফেসগুলি যে রূপান্তরটিতে পরিবর্তিত হয়েছে সেগুলি যথেষ্ট তথ্য সরবরাহ করে যদি আপনাকে নতুন কোড দ্বারা প্রবর্তিত কিছু রিগ্রেশনের কারণে মুছে ফেলা কোডটি ট্র্যাক করতে প্রয়োজন হয়।

তবে, মৃত কোডের জন্য আপনি এই অবজ্ঞার পিছনে যে পরিমাণে বা কম বৈধ কারণ রাখতে পারেন তার থেকে আলাদা, আমি মনে করি এটি প্রোগ্রামারদের পক্ষে সত্যিই কেবল "যত্ন নেই"। এমনকি যদি আপনি মুছে ফেলা জিনিসগুলি কিছু বা অন্য উপায়ে চিহ্নিত করার চেষ্টা করেও, সেই প্রচেষ্টা দিয়ে পুরোপুরি উপেক্ষা করার জন্য প্রস্তুত থাকুন ...


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

1
@ পিটারস্মিথ: আপনার এই জাতীয় কোডের জন্য পৃথক শাখা তৈরি করা উচিত। তারপরে কোডটি মুছে ফেলার কোনও প্রয়োজন নেই, যেহেতু এটি কার্যক্ষম শাখায় কোনওভাবেই নেই।
জ্যাকবিবি

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

1

এই প্রশ্নটি সম্ভবত "আপনি কীভাবে ত্রুটিযুক্ত ডাটাবেস এবং আপনার সিস্টেমের প্রয়োজনীয়তার বিরুদ্ধে আপনার ভিসিএস চেকিনগুলির ট্র্যাকিবিলিটি রাখবেন?"

সোর্স নিয়ন্ত্রণ থেকে লোকেদের পুনরুত্থিত করার সময়গুলি এমন সময়গুলি যখন আপনি যখন জানতে পারেন যে অনিচ্ছাকৃতভাবে কিছু ভেঙে গেছে এবং ফিরে আসা দরকার তখন।

মুছে ফেলা কোডের একটি নির্দিষ্ট বিট খুঁজছেন এমন ব্যক্তির জন্য সেই দৃশ্যের সবচেয়ে গুরুত্বপূর্ণ বিষয়টি হ'ল প্রয়োজনীয় ডেটাবেস এবং বাগ ট্র্যাকিংয়ের সরঞ্জামটি দেখে তারা সহজেই এটির সন্ধান করতে পারে; কারণ তারা সম্ভবত নির্দিষ্ট প্রয়োজনীয়তা, বা শব্দগুলি যা কার্যকারিতা বর্ণনা করে তাদের সন্ধান করছে। উত্স ফাইলের নাম বা শ্রেণি / ফাংশনটি মুছে ফেলা হয়েছে বলে তাদের নাম জানা সম্ভব নয় are

আপনি যদি কিছু আকর্ষণীয় / পরীক্ষামূলক কোড যা ট্র্যাক করতে চান যা মুক্তির আগে বের করা দরকার, আপনি কেবল "এর জন্য অব্যবহৃত কোড সরান ..." এর পাতায় কিছু "বাগ" টিকিটের সাহায্যে এটি সন্ধান করতে পারেন । অথবা প্রোটোটাইপ বৈশিষ্ট্যটির জন্য সিস্টেমে একটি নতুন ধরণের টিকিট প্রবর্তন করতে পারেন ।

সুতরাং প্রশ্নের সরাসরি উত্তর দিতে - মোছা কোড ট্র্যাক করতে আপনার ভিসিএস সিস্টেমে শাখা / ট্যাগ ব্যবহার করবেন না - আপনার পরিবর্তন ট্র্যাকিং সরঞ্জামটি ব্যবহার করুন।


0

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

"পরীক্ষামূলক কাজ" সত্যিই আলাদা বিষয়। তার জন্য আপনার একটি পৃথক শাখা থাকা উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.