ঠিক আছে, আমি যে পরিমাপটি ব্যবহার করি, বা আমার মনে হয় যে আমি ব্যবহার করি তা হ'ল এটি:
প্রতিটি স্বতন্ত্র, একক, এক-লাইন, এটি গ্রহণ করুন-বা ছাড়ুন-এটি কার্যকরী প্রয়োজনের জন্য, কোডটি প্রয়োগের আগে স্ন্যাপশট। তারপরে প্রক্রিয়াটিতে যে কোনও বাগ সন্ধান এবং ফিক্স করা সহ এটি বাস্তবায়ন করুন। diff
তার আগে এবং পরে কোড বেসের মধ্যে একটি চালান । এই diff
পরিবর্তনটি কার্যকর করে এমন সমস্ত সন্নিবেশ, মোছা এবং পরিবর্তনগুলির একটি তালিকা আপনাকে প্রদর্শন করবে। (কোডের টানা 10 লাইন Likeোকানো যেমন একটি পরিবর্তন is ) সেখানে কতগুলি পরিবর্তন ছিল? সংখ্যাটি যত ছোট হয় সাধারণত কোডটি তত বেশি রক্ষণাবেক্ষণযোগ্য হয়।
আমি কল করি যে উত্স কোডের অপ্রয়োজনীয়তা , কারণ এটি একটি ত্রুটি-সংশোধনকারী কোডের অতিরিক্ত কাজ like তথ্যটি 1 টি অংশে অন্তর্ভুক্ত ছিল, তবে এন অংশ হিসাবে এনকোড করা হয়েছিল, যা ধারাবাহিকভাবে সবগুলি একসাথে করতে হবে।
আমি মনে করি এটি DRY এর পিছনে ধারণা, তবে এটি কিছুটা সাধারণ a গণনাটি কম হওয়ার পক্ষে এটির কারণটি হ'ল, যদি এটি একটি সাধারণ প্রয়োজনীয়তা বাস্তবায়নের জন্য এন পরিবর্তন করে এবং ফলসযোগ্য প্রোগ্রামার হিসাবে আপনি কেবলমাত্র প্রথমে N-1 বা N-2 সঠিকভাবে সম্পন্ন করেন, আপনি এতে রেখেছেন 1 বা 2 বাগ। ও (এন) প্রোগ্রামিং প্রচেষ্টার শীর্ষে, সেই বাগগুলি আবিষ্কার করতে হবে, সনাক্ত করতে হবে এবং মেরামত করতে হবে। সে কারণেই ছোট এন ভাল।
রক্ষণাবেক্ষণের অযোগ্যভাবে পঠনযোগ্য অর্থ এমন কোনও প্রোগ্রামারকে বোঝায় না যে কোডটি কীভাবে কাজ করে তা শিখেনি। এন অনুকূলিতকরণের জন্য এমন কিছু জিনিস করা প্রয়োজন যা প্রোগ্রামারদের জন্য একটি শেখার বক্ররেখা তৈরি করে।
এখানে একটি উদাহরণ।
একটি বিষয় যা সহায়তা করে তা হ'ল যদি প্রোগ্রামার ভবিষ্যতের পরিবর্তনের পূর্বাভাস দেওয়ার চেষ্টা করে এবং প্রোগ্রামের ভাষ্যটিতে কীভাবে দিকনির্দেশ ছেড়ে যায়।
আমি মনে করি যখন এনটি যথেষ্ট পরিমাণে হ্রাস পেয়েছে (সর্বোত্তমটি হল 1) সোর্স কোডটি একটি ডোমেন-নির্দিষ্ট-ভাষা (ডিএসএল) এর মতো আরও পড়ে। প্রোগ্রামটি "সমস্যা" যেমন সমস্যাটিকে "বর্ণিত" হিসাবে এতটা "সমাধান" করে না, কারণ আদর্শভাবে প্রতিটি প্রয়োজনীয়তা কেবলমাত্র একক টুকরো কোড হিসাবে পুনঃস্থাপন করা হয়।
দুর্ভাগ্যক্রমে, আমি লোকেরা কীভাবে এটি খুব বেশি করে করতে হয় তা শিখতে দেখছি না। বরং তারা মনে করে যে মানসিক বিশেষ্যগুলি ক্লাসে পরিণত হওয়া উচিত, এবং ক্রিয়াগুলি পদ্ধতিতে পরিণত হওয়া উচিত এবং তাদের যা করতে হবে তা হ'ল ক্র্যাঙ্কটি ঘুরিয়ে দেওয়া। আমার অভিজ্ঞতায় 30 বা ততোধিক এন এর কোডে এর ফলাফল।