আমার কি অবাস্তবহীন কোডটি সরানো উচিত?


118

আমি একটি মাঝারি আকারের (100 কে লাইন) কোড বেসে কাজ করছি, এটি সমস্ত তুলনামূলকভাবে সাম্প্রতিক কোড (এক বছরের কম পুরানো) এবং ভাল ইউনিট পরীক্ষার কভারেজ রয়েছে।

আমি এমন পদ্ধতিগুলি নিয়ে আসছি যা এখন আর কোথাও ব্যবহৃত হয় না বা কেবল ইউনিট পরীক্ষায় উল্লেখ করা হয় যা কেবলমাত্র সেই নির্দিষ্ট পদ্ধতিটি পরীক্ষা করে।

আমি যদি নিশ্চিত হয়ে থাকি যে এটির আর দরকার নেই তবে আমার এই কোডটি সরানো উচিত?

এটি অপসারণের কারণগুলি:

  • কম কোড, কম বাগ
  • অন্যদের হজম করা কম কোড করা সহজ
  • এটি এখনও উত্স নিয়ন্ত্রণে

এটি রাখার কারণগুলি:

  • রেফারেন্স হিসাবে ব্যবহার করা যেতে পারে
  • এটি কখনও কখনও দরকারী হতে পারে
  • এটি কোনও শ্রেণীর জন্য কার্যকারিতা 'রাউন্ড আউট' করতে লেখা হয়েছিল

22
"কম কোড, কম বাগ" - এগুলি যদি সত্যই ব্যবহার না করা হয় তবে এগুলি বাগের কারণ হওয়ার সম্ভাবনা নেই
কনরাড মোরাউস্কি

19
@ মোরাউসকি তবে এটি যদি ছেড়ে যায় তবে এটি একদিন ব্যবহৃত হবে। এবং যেহেতু এটি রক্ষণাবেক্ষণ করা হয়নি এটিতে বাগগুলি থাকবে যা এর পরে উপস্থিত হবে।
ডিজেক্লেওয়ার্থ

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

31
@ জোব যদি আমি মন্তব্য করা কোড দেখতে পাই তবে তা সরিয়ে দেওয়া হবে। কোন অজুহাত নেই. মন্তব্য করা কোডটি কেবল চিৎকার করে বলে "আমি আমাদের উত্স নিয়ন্ত্রণ ব্যবস্থা বিশ্বাস করি না trust" আমার কাছে.
ক্রিস্টফ প্রোভস্ট

26
@ ক্রিস্টফ প্রোভস্ট, আপনি কীভাবে জানবেন যে দরকারী কোডটি একবার সোর্স ফাইল এ-তে থাকত যদি তা আর না থাকে? অবশ্যই, আপনি সর্বদা আপনার যে ফাইলটি চলছেন তার ইতিহাস পরীক্ষা করে দেখতে পারেন, তবে আপনি নিজেকে কতবার মনে করেন: "এইচএম ... আমাকে এখানে কোনও বৈশিষ্ট্য পরিবর্তন / প্রয়োগ করা দরকার Or অথবা এটি কীভাবে 5 বছর কাজ করেছে তা পরীক্ষা করতে হবে I খুব শীঘ্রই। আমি অবাক হয়েছি যে কেউ ইতিমধ্যে এটি প্রয়োগ করেছে এবং তারপরে এটি মুছে ফেলেছে ... আমাকে ইতিহাসটি পরীক্ষা করা যাক "। আমি উকিল করছি না যে নোংরা বাজে চারপাশে রাখা হয়েছে, তবে এমন পরিস্থিতিতে রয়েছে যখন আপনি কোডটি উত্পাদনে ব্যবহার করছেন না, কিন্তু ডিবাগিংয়ের জন্য উপলক্ষে প্রয়োজন হতে পারে ইত্যাদি
জব

উত্তর:


219

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

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


30
আমি এটি অপসারণের সাথে একমত, তবে আমার এমন কিছু ঘটনা ঘটেছে যেখানে আমি কিছু ভেঙে ফেলেছি কারণ কেউ প্রতিবিম্বের মাধ্যমে "অব্যবহৃত" কোড ব্যবহার করছে। সুতরাং যে কোনওভাবে সতর্ক হওয়া উচিত।
ফ্যালকন

14
@ ফ্যালকন, লোকেরা এটি ব্যবহার শুরু করার আগে, বা এটিকে জনসমক্ষে প্রচার করার প্রয়োজনীয়তা আবিষ্কার করার আগে এটি যত তাড়াতাড়ি সম্ভব এটি সরিয়ে ফেলার এক ভাল কারণ।
স্টুপারউজার

6
@ ফ্যালকন: কোডটি অব্যবহৃত হয়েছে বলে ওপি'র দাবি।
ডেড এমএমজি

4
@ স্টুপার ইউজার: আমি সম্পূর্ণ একমত তবে একটি সতর্কতা অবলম্বন করা উচিত এবং অপ্রত্যাশিত জন্য প্রস্তুত করা উচিত।
ফ্যালকন

18
আপনি যদি এটিকে সরিয়ে দেন এবং আপনার ইউনিট এবং রিগ্রেশন পরীক্ষাগুলি পাস হয় তবে পণ্যটি ক্ষেত্রটিতে ভেঙে যায় এটি কিছু ধরণের কোড কভারেজ সরঞ্জাম সেট করার জন্য একটি শক্তিশালী কেস সরবরাহ করে।
অ্যান্ড্রু টি ফিনেল

43

এটি অপসারণের সমস্ত কারণ দাঁড়ায়।

এটি রাখার কারণগুলি:

  • রেফারেন্স হিসাবে ব্যবহার করা যেতে পারে
  • এটি কখনও কখনও দরকারী হতে পারে
  • এটি কোনও শ্রেণীর জন্য কার্যকারিতা 'রাউন্ড আউট' করতে লেখা হয়েছিল

এটি রাখার এই সমস্ত কারণ সোর্স নিয়ন্ত্রণ দ্বারা পরিচালিত হবে। এটি লাইভ কোড থেকে সরান এবং আপনি / যখন প্রয়োজন হয় তা পুনরুদ্ধার করতে সক্ষম হবেন।


1
হ্যাঁ, অবাস্তবহীন কোডটি লাইভ কোডে ছেড়ে দেওয়া উচিত নয়।
xdazz

আমার কাছে মনে হচ্ছে আপনি কেবল বড় অংশগুলিকে মন্তব্য করে এই সুবিধাগুলি পেয়েছেন।
স্টিভ বেনেট

পছন্দ করেছেন আমি এটিকে মন্তব্য করে রাখার সুবিধার তালিকা দিচ্ছি, মূল কথাটি হ'ল আপনি উত্স নিয়ন্ত্রণ থেকে এই সমস্ত এবং আরও অনেক সুবিধা পাবেন (যা আপনি অন্যান্য উত্তরে দেখবেন)।
StuperUser

আমি অবশ্যই ভিসিএসের বিপক্ষে নই। :) (যদিও আমি লক্ষ করি, বর্তমান সংস্করণটি একবারে জিনিসগুলি সরিয়ে ফেলা হলে এটি অন্যান্য পদ্ধতির তুলনায় খুব কম দৃশ্যমান হয়, যেমন এটি কোনও উইকিতে কোনও মন্তব্য, ইত্যাদিতে কোনও অবাস্তব পাঠ্য ফাইলে সংরক্ষণ করা ...)
স্টিভ বেনেট

@ স্টিভ বেনেট - এটি কোনও ফাইলের বর্তমান সংস্করণে মন্তব্যগুলির তুলনায় "কম দৃশ্যমান" হতে পারে, তবে এটি একটির ফাইলের ভিসিএস ইতিহাস পরীক্ষা করা তুচ্ছ, এবং আমি txt-file / wiki / ইত্যাদির চেয়ে উল্লেখযোগ্যভাবে সহজ বলব। .. পন্থা।
জাচ লিসোবেই

23

অযৌক্তিক কোডগুলি সেই ব্যাটারিগুলি রাখার মতো যা কিন্ডা, সারণা ফ্ল্যাটের ক্ষেত্রে যদি আপনার একটি টর্চের জন্য একদিন প্রয়োজন হয়।

আপনি যতক্ষণ না কোনও প্রকারের সংস্করণ নিয়ন্ত্রণ ব্যবহার করছেন আমি বলব এটি লাইভ কোডের বাইরে থেকে ট্র্যাশ ছড়িয়ে দেবে এবং এটি কার্যকর হিসাবে প্রমাণিত হলে সংস্করণ ইতিহাস ব্যবহার করবে।


40
আপনার উপমাটি কিছুটা উন্নত করার জন্য, স্টোরেজ রুমের নতুন ব্যাটারির পাশের একটি বাক্সের পরিবর্তে "ব্যবহৃত তবে মৃত ব্যাটারি নয়" লেবেল লাগানো প্রায় মৃত ব্যাটারিগুলি আপনার রিমোট কন্ট্রোলটিতে ট্যাপ করে দেওয়ার মতো।
স্কট হুইটলক

আরও উন্নতির জন্য প্লাস 1!
নিকোলাস স্মিথ

15

কোডটি বর্তমানে ব্যবহার করা হয় না তা দেখতে কেবলমাত্র সঠিক কারণটি যদি এটি একটি স্ব-অন্তর্ভুক্ত মডিউলটির অংশ হয়: কোডটির কিছু অংশ এই মুহুর্তে ব্যবহার করা না যেতে পারে তবে এটি সম্ভবত হতে পারে ভবিষ্যতে ব্যবহৃত।

আপনি বিভিন্ন প্রকল্প জুড়ে যে লাইব্রেরি ব্যবহার করেন এটির ক্ষেত্রে এটি বিশেষভাবে সত্য হতে পারে: আপনার নির্দিষ্ট প্রকল্পের জন্য যা প্রয়োজন তা অনুসারে আপনি কোডের টুকরোটি বাইরে রেখে দিতে চান না: আমি এই সময়টাকে গ্রাসকারী এবং ত্রুটিযুক্ত বলে মনে করি।

আমার পদ্ধতির বিষয়টি হল: (1) আপনি যদি এটি একবার ব্যবহার করেন তবে কেবল আপনার যা প্রয়োজন তা রাখুন; (২) আপনি যদি এটি দুটিবার ব্যবহার করেন তবে দ্বিতীয়বার এটি ব্যবহার করুন এবং অনুলিপি করুন; (3) আপনি যদি এটি দ্বিগুণের বেশি ব্যবহার করেন তবে এটির থেকে একটি সু-সংজ্ঞায়িত, স্থিতিশীল মডিউল তৈরি করুন এবং আপনার প্রয়োজনমতো এই মডিউলটি ব্যবহার করুন।

সংক্ষিপ্তকরণ: আমি অব্যবহৃত সমস্ত কোড ফেলে দিই যদি না আপনি যদি এটি সাধারণ নকশার মডিউলটির অংশ না হন যা আপনি যেমন ডিজাইন করেছেন এবং আপনি জানেন যে আপনি বেশ কয়েকবার পুনরায় ব্যবহার করতে চলেছেন।

দ্রষ্টব্য : অবশ্যই একটি পরিষ্কার পরিচ্ছন্ন সমাধান হ'ল লাইব্রেরির জন্য একটি পৃথক প্রকল্প তৈরি করা এবং প্রকল্পগুলির মধ্যে নির্ভরতা যুক্ত করা।


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

11

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

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


8

কোডবেস এক বছরেরও কম পুরানো, এটি সম্ভবত এখনও প্রচুর প্রবাহের মধ্যে রয়েছে (হ্যাঁ?) - সুতরাং অদূর ভবিষ্যতে কিছু বিট পুনরুত্থিত হতে পারে এমন ধারণাটি অযৌক্তিক নয়।

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


5
"বলার জন্য +1" আপনি কেবল এটি উত্স নিয়ন্ত্রণে সন্ধান করতে পারেন "অনুমান করে যে আপনি জানেন / মনে আছে যে এটি আছে!" - কখনও কখনও আমি কোনও কোড বা অন্য কোনও কারণে সহায়ক হতে কাটা হয়েছিল এমন কোডের সামান্য অনুস্মারক খুঁজে পাই।
স্টিভেন

3

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

আকর্ষণীয় কোড ক্যাডার্সের জন্য, আমি archiveআমার সংস্করণ নিয়ন্ত্রণ সিস্টেমে একটি শাখা ব্যবহার করি ।


3

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

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

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

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


2

অব্যক্ত পদ্ধতিগুলি রাখার একটি ভাল কারণ হ'ল এগুলি অন্য শাখা / ট্যাগে ব্যবহার করা যেতে পারে!

আপনার সমস্ত সক্রিয় শাখা এবং ট্যাগগুলি মুছে ফেলার আগে সেগুলি অন্বেষণ করুন।


এটি আমার কাছে অর্থবোধ করে না: এটি যদি এই শাখায় ব্যবহার না করা হয় তবে এটি এই শাখা থেকে সরান । অন্য কোনও শাখা যদি এটি ব্যবহার করে তবে এটি সেখানেই থাকবে।
সেল্সকে

1

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

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

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


1

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

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

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


1

কোনও কোডই কম সময় ব্যয় করে না।

যদি আপনাকে কোনও কোডবেসে ডুব দিতে হয়, আপনার কোডটি কীসের জন্য ব্যবহৃত হয় তা নির্ধারণ করার জন্য কিছুটা সময় প্রয়োজন এবং যদি এটি কোনও কিছুর জন্য ব্যবহার না করা হয় তবে আপনার আরও সময় প্রয়োজন।

ঠিক আছে - এটি একটি মন্তব্য হিসাবে নিরাময় করা যেতে পারে, তবে তারপরেও, এই অব্যবহৃত কোডটি এখনও কোড বেসে রয়েছে কেন, এটি অপসারণ করা উচিত কিনা তা নিয়ে সকলেই যুক্তি দেখাবে।

যদি কিছু না থাকে তবে কেউ এটির সাথে সময় হারাবে না।

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


1

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

পুরানো কোডের দীর্ঘ মন্তব্যগুলি বিভ্রান্ত করছে এবং নেভিগেট করা কঠিন করে তুলেছে।

শুভেচ্ছা সহ


1

এই সাধারণ অ্যালগরিদম অনুসরণ করুন:

  1. এটি কি কোনও এসসিএম-এ ব্যাক আপ হয়? যদি হ্যাঁ, 3 এ লাফ দিন।
  2. একটি এসসিএম সেট আপ করুন।
  3. জিনিস ফেলে দাও

অপসারণের পক্ষে আপনার সমস্ত পয়েন্ট বৈধ।

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

এটিকে একটি কারণ হিসাবে "ডেড কোড" বলা হয়। এটি মরুক এবং শান্তিতে বিশ্রাম দিন।


0

এটি উত্স নিয়ন্ত্রণে থাকবে; এটি সক্রিয় কোড বেসে থাকা উচিত নয়।

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


0

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

সন্দেহ নেই, অব্যবহৃত কোড থাকা দুর্গন্ধযুক্ত।

আপডেট: আমি সবেমাত্র এড স্টাব একটি খুব অনুরূপ উত্তর দিয়েছেন লক্ষ্য।

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