পুরানো প্রকল্পগুলি পরিষ্কার করার জন্য ভাল পন্থা কী কী?


11

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


পিছনের কোন সিদ্ধান্তগুলি নিয়ে আজ আপনি একমত নন?

উত্তর:


21

আপনার কাছে তিনটি প্রাথমিক বিকল্প রয়েছে:

  1. অ্যাপ্লিকেশনটি খুব ছোট এবং সত্যিকারের জগাখিচুড়ি থাকলে আবার শুরু করা আপনার সেরা বাজি হতে পারে।

  2. রিফ্যাক্টর

  3. মেসের সাথে লাইভ করুন এবং অতিরিক্ত বৈশিষ্ট্যগুলিতে হ্যাক করুন।

সাধারণত, বিকল্প (2) আপনার সেরা বাজি bet

আপনি কতটা রিফ্যাক্টরিং করবেন তা নির্ভর করে আপনি যে পরিমাণ সম্পদ অর্জন করবেন তার উপর নির্ভর করবে। জিজ্ঞাসা করা প্রশ্নগুলির মধ্যে অন্তর্ভুক্ত থাকবে:

  1. কোন সময় / বাজেট পাওয়া যায়?
  2. ভবিষ্যতে আপনি কত সংশোধন করার প্রত্যাশা করছেন?
  3. কোডটি আর কে দেখবে? (যেমন। অগোছালো কোড আপনার খ্যাতির ক্ষতি করবে?)
  4. অন্য কেউ কি কোড বজায় রাখবেন বলে আশা করা হচ্ছে?
  5. আপনাকে সাহায্যের জন্য কোন রিফ্যাক্টরিং সরঞ্জাম উপলব্ধ?
  6. আপনার রিফ্যাক্টরিংয়ের অভিজ্ঞতা কী?
  7. রিফ্যাক্টরিং থেকে আপনি কী অভিজ্ঞতা অর্জন করবেন?
  8. কোন ধরণের রিফ্যাক্টরিং আপনাকে সর্বাধিক সুবিধা দেবে?
  9. ইতিমধ্যে কোন স্বয়ংক্রিয় পরীক্ষাগুলি বিদ্যমান? লেখা দরকার?
  10. কত ম্যানুয়াল পরীক্ষার প্রয়োজন হবে?
  11. আপনি কোডটি যেমন রেখে দেন তবে আপনার কেমন লাগবে?

আমার অভিজ্ঞতায় রিফ্যাক্টরিং সেশনের সময় যথাযথ গোলমাল করা খুব সহজ। আমি শিখেছি সবচেয়ে গুরুত্বপূর্ণ পাঠগুলি হল:

  1. একবারে একটি কাজ করুন।
  2. ছোট পদক্ষেপ নিন।
  3. আপনার উত্স নিয়ন্ত্রণের ভাল ব্যবহার করুন (প্রায়শই চেক ইন করুন + মন্তব্যগুলি অন্তর্ভুক্ত করুন)।
  4. স্বয়ংক্রিয় রিফ্যাক্টরিং সরঞ্জামগুলি ব্যবহার করুন।
  5. আইডিই জানুন।

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

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

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

1
@ টিএমএন: আদর্শভাবে, হ্যাঁ। তবে আপনার সবসময় একটি স্বয়ংক্রিয় পরীক্ষার প্রয়োজন হয় না । (1) যদি কোডটি স্বয়ংক্রিয় পরীক্ষাগুলি ছাড়াই বিকাশ করা হয় তবে আপনি ইতিমধ্যে কিছু রিফ্যাক্টরিং না করা অবধি রিট্রো-ফিট ইউনিট পরীক্ষা করা সহজ / সম্ভব নাও হতে পারে (২) তুচ্ছ, স্থানীয় পরিবর্তনগুলি করার আগে পরীক্ষা লিখতে ব্যয়বহুল হতে পারে। (3) অটোমেটেড রিফ্যাক্টরিং সরঞ্জামগুলি + আইডিই বৈশিষ্ট্যগুলি রিফ্যাক্টরিংয়ের ফলে কোড ভাঙ্গা রোধ করতে সহায়তা করে।
Kramii

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

5

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


1
এটি অবশ্যই বিখ্যাত বয়স্কাউট বিধি: আপনার কোডটি খুঁজে পাওয়ার চেয়ে কোডটি সর্বদা ভাল অবস্থায় রেখে দিন।
জার্গ ডব্লু মিট্টাগ

2

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


1

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

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