উত্তরের একটি অংশ হ'ল রিফ্যাক্টরিং ।
প্রথমে আপনার পরিবর্তনগুলি যাতে দুর্ঘটনাক্রমে কোনও কিছু ভঙ্গ না করে তা নিশ্চিত করার জন্য ইউনিট পরীক্ষাগুলি লিখতে শুরু করুন। তারপরে ডিজাইনের উন্নতি করা, ছোট পদক্ষেপে ডুপ্লিকেশন ইত্যাদি মুছে ফেলা, প্রতিটি পদক্ষেপের পরে আপনার ইউনিট পরীক্ষা চালানো, পরীক্ষাগুলির মধ্যে কোনওটি ব্যর্থ হলে যে কোনও সমস্যা সমাধান করা বা আপনি সহজেই সমাধান করতে পারেন তার চেয়ে বড় সমস্যার মধ্যে পড়লে সঙ্গে সঙ্গে ফিরে আসুন।
অন্য অংশটি শিক্ষা ।
লোকদের অবশ্যই খারাপ কোড পিছনে না ফেলে শেখানো উচিত। এটি অবশ্যই একটি দীর্ঘমেয়াদী যুদ্ধ, কারণ অভ্যাস এবং চিন্তার প্রক্রিয়াগুলি পরিবর্তন করা শক্ত (কখনও কখনও এমনকি অসম্ভব) । তবে এটি না করে আপনি কেবল খারাপ কোডের চিৎকারের পুনরুদ্ধার করার জন্য অফুরন্ত সরবরাহ পেতে থাকবেন।
আপনি ভাল এবং খারাপ কোডিং অভ্যাস সম্পর্কে আলোচনা খোলার জন্য গ্রুপ কোড পর্যালোচনাগুলি বেছে নিতে এবং পূর্বের বৈশিষ্ট্যগুলি ছড়িয়ে দিতে বেছে নিতে পারেন। "আপনাকে অবশ্যই (এইভাবে কোড লিখতে হবে) বলার পক্ষে যথেষ্ট নয়, আপনার যুক্তি এবং কঠোর তথ্য সহ লোককে বোঝানো দরকার। ভালো লেগেছে "আপনি আছে যদি পদ্ধতি এই টুকরা কোডবেস উপর সদৃশ এন বার আপনি কি মনে করেন সম্ভাবনা যে যদি একটি বাগ পদ্ধতি পাওয়া যায়, এটা পদ্ধতি কোডের প্রতিটি কপিতে সংশোধন করা হবে কি?"
আপনার সংস্থার পরামর্শদাতাদের জন্য প্রণোদনা এবং গ্রহণযোগ্যতার মানদণ্ডগুলিও সংশোধন করার প্রয়োজন হতে পারে - যদি তারা আস্তে কোড লেখার মাধ্যমে পালাতে পারেন তবে তারা অবশ্যই সহজ পথটি বেছে নেবে। যদি সংস্থা দীর্ঘ মেয়াদী রক্ষণাবেক্ষণের তুলনায় "দ্রুত বিতরণ" মূল্যবান করে রাখে তবে কিছুই পরিবর্তন হবে না :-( সুতরাং আপনারও এটির সাথে ম্যানেজমেন্টের সাথে আলোচনা করা প্রয়োজন them বুঝতে এবং বজায় রাখুন mit। আপনি এটির জন্য কিছুক্ষণের জন্য দূরে সরে যেতে পারেন, তবে আপনি যদি ক্রয়ের সাথে আপনার কেনার অভ্যাস এবং areণ পরিচালনা করেন না, তবে এটি অনিবার্যভাবে একদিন আপনার কাঁধে চূর্ণ হয়ে যাবে। একটি সফ্টওয়্যার প্রকল্পের জীবনে, দেউলিয়া হয় যখন প্রকল্পটি অভাবনীয় হয়ে যায়: বিদ্যমান কোডবেজে নতুন বৈশিষ্ট্য যুক্ত করার চেয়ে এটিকে স্ক্র্যাচ থেকে নতুন করে লেখা সহজ হয়। অথবা ব্যবহারকারীরা নিকৃষ্টতর স্তরের সমর্থন এবং বৈশিষ্ট্যগুলিতে এতটাই বিরক্ত হয়ে পড়ে যে তারা কেবল প্রতিযোগিতায় সরে যায়।