আমার কোডটি DRY বা পঠনযোগ্য যদি তা উভয়ই না হয়?


14

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

আমার সাম্প্রতিক উদাহরণ: আমার প্রোগ্রামটি ইনপুট নেয় এবং অনমনীয় ফর্ম্যাট নির্দেশিকাগুলির কারণে এটি সহজেই নির্ধারণ করতে পারে যে ইনপুট এনক্রিপ্ট করা উচিত বা ডিক্রিপ্ট করা উচিত। সরলকরণের জন্য, একবার এনক্রিপশন কী এবং বার্তাটি সামঞ্জস্যপূর্ণ / রূপান্তরিত হয়ে উপযুক্ত হয়ে উঠলে এনক্রিপ্ট করা বার্তা থেকে কীটি বিয়োগ করা বা একটি এনক্রিপ্ট করা বার্তায় কী যুক্ত করা, পছন্দসই আউটপুট পাওয়ার জন্য (কীটিকে এনক্রিপশন হিসাবে ভাবুন, বার্তা + এনক্রিপশন = কোড; কোড - এনক্রিপশন = বার্তা)। ডিআরওয়াই অবস্থানটি আমাকে বলেছে যে আমার এনক্রিপ্ট করা বার্তাটি আমার এনক্রিপ্ট করা বার্তা থেকে আলাদাভাবে রূপান্তর করা উচিত যাতে ফাংশনটি যা এনক্রিপশন কী গ্রহণ করে এবং বার্তায় এটি প্রয়োগ করে তা কখনই আলাদা করার প্রয়োজন নেই। আমি খুঁজে পেয়েছি যে এর অর্থ এই যে আমাকে ফাংশনে স্টেটমেন্টগুলি দেওয়া হলেও যুক্তিটি দৃ be় বলে মনে হচ্ছে কিছু নেস্টেড দরকার। এই কোডটি তবে সহজেই পঠনযোগ্য নয়।

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

আমার কি পাঠযোগ্য কোড বা সংক্ষিপ্ত কোডের দিকে ঝুঁকানো উচিত? বা এই কার্যকারিতাটি পেতে এবং উভয় নীতিই সন্তুষ্ট করার জন্য আমি অন্য কোনও উপায় মিস করেছি? এটি কি কোনও স্কেল বরাবর এমন একটি অবস্থান যেখানে প্রকল্পের উদ্দেশ্য বিবেচনা করা এবং সেই উদ্দেশ্যটি সম্পাদনের জন্য সেরা সিদ্ধান্ত নেওয়া উচিত?

এখনও অবধি, আমি পঠনযোগ্য কোডের উপর সংক্ষিপ্ত, DRY কোডের উপর জোর দেওয়ার প্রবণতা রাখছি।


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

4
কিছু প্রকৃত কোড উদাহরণ সাহায্য করতে পারে, আমি সন্দেহ আপনি শুষ্ক এবং পাঠযোগ্য কোড আছে এমন উচ্চতর ক্রম ফাংশন কিছু 3rd পথ অনুপস্থিত
জে।

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

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

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

উত্তর:


20

ডিআরওয়াই একটি গাইডলাইন, কোনও ধর্ম নয়। যারা এটিকে সর্বোপরি ডিআরওয়ির বিন্দুতে নিয়ে যান, তারা এটিকে অনেক দূরে নিয়ে গেছেন।

প্রথম এবং সর্বাগ্রে, ব্যবহারযোগ্য কোডটি সর্বজনীন। যদি কোডটি দরকারী এবং ব্যবহারযোগ্য না হয় তবে তা নয় ... এবং এটি প্রথমে লেখার কোনও অর্থ নেই।

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

"বর্ণনামূলক ভেরিয়েবল" এর অভাবযুক্ত ঘন কোড তৈরি করা এবং কোনও ডকুমেন্টেশন ছাড়াই ল্যাম্বডাসের সাথে নেস্টেড টের্নারি এক্সপ্রেশনগুলিতে সমস্ত কিছুকে স্টিক করা চালাক। আপনি এটি করতে পারেন তা জেনে আনন্দিত - তবে করবেন না। চতুর কোডটি ডিবাগ করা খুব কঠিন। চতুর কোড লেখা এড়িয়ে চলুন

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


স্বজ্ঞাতভাবে বা না, আপনি যে বিষয়টিকে উপেক্ষা করছেন সেটিকে আপনি আঘাত করেছেন। আমি এই অনুশীলনের জন্য যতটুকু সম্ভব 'চালাক' কোডটি লিখছি, আমি এটি করতে পারি তা জানার জন্য, যা আমি সম্মত তা জানতে পেরে ভাল, তবে আমি এখানে আপনার সাথে একমত হই যে এটি একটি খারাপ অভ্যাস। এখন, আমার অনেক কিছু করার আছে।
14

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

17

আপনি DRY বোঝেন এমন প্রশ্নের ভিত্তিতে আমি নিশ্চিত নই। DRY কোড সংক্ষিপ্ত হিসাবে একই নয়। বেশিরভাগ ক্ষেত্রে এটি বিপরীত হয়।

এখানে, আমি নিশ্চিত না যে এই উদাহরণটির জন্য বড় চুক্তিটি কী। এনক্রিপ্ট করার জন্য একটি ফাংশন তৈরি করুন, ডিক্রিপ্ট করার জন্য একটি ফাংশন, সাধারণ কার্যকারিতার জন্য সহায়ক (মিক্স বাইট) এবং ইনপুট নিতে এবং এনক্রিপ্ট / ডিক্রিপ্ট নির্ধারণ করার জন্য একটি সহজ সম্মুখ প্রান্ত ... নিজেকে পুনরাবৃত্তি করবেন না।

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

যদি চাপ দেওয়া হয় তবে আমি পঠনযোগ্যতা পছন্দ করব। সদৃশ কোডটি এখনও পরীক্ষা করা যায় - অপঠনযোগ্য কোড আপনাকে ভুল কাজটি করার (এবং পরীক্ষা করার) দিকে পরিচালিত করে।


দুর্দান্ত পয়েন্টস, আমি সংক্ষিপ্ত কোডের লক্ষ্যের সাথে DRY নীতিটি কিছুটা সংযুক্ত করেছিলাম।
লুটেজ করুন

12

আমি আপনার নির্দিষ্ট মামলার সাথে অপরিচিত তবে কিছু সাধারণ দিকনির্দেশনা দিতে পারি।

পাঠযোগ্যতা এবং ডিআরওয়াই উভয়ের উদ্দেশ্য রক্ষণাবেক্ষণযোগ্যতা

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

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

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

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

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

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

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

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

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

সিদ্ধান্তে, আপনার প্রশ্নের উত্তর হ'ল যা করা আপনার কোডকে সবচেয়ে রক্ষণাবেক্ষণযোগ্য করে তোলে। আপনার দৃশ্যের অর্থ কী তা সিদ্ধান্ত নেওয়ার জন্য আপনার উপর নির্ভর করে।


আমি মনে করি আপনি আমার সমস্যার একটিটিকে সঠিকভাবে পেরেক দিয়েছেন। আমি যে কার্যকারিতাটির নকল না দেওয়ার চেষ্টা করছিলাম তার উদাহরণটি সম্ভবত বিমূর্তির সদৃশ।
14

+1 টি। আমি বর্তমানে এমন একটি সিস্টেমের সাথে কাজ করছি যেটি অনুলিপি করে একটি হাস্যকর ডিগ্রীতে পেস্ট করেছে। অনুলিপি / আটকানো কোড থেকে একটি একক পদ্ধতিতে কারখানাটি আজ আমার ক্লাসের একটি থেকে 400 টিরও বেশি লাইন সরানো হয়েছে। দুর্ভাগ্যক্রমে, আমি এটি একটি 900 লাইন পদ্ধতিতে পেয়েছি ...
কেচালাক্স

1
যদি দুটি কোড কনস্ট্রাক্টস বর্তমানে একই কাজ করে তবে একটিতে পরিবর্তিত হওয়াতে অন্যটিতে পরিবর্তনকে বোঝানো উচিত নয় , অনুলিপি / কার্যকরী সাধারণ কার্যকারিতার চেয়ে কপি / পেস্ট ভাল হতে পারে। কোড যদি দুটি চরিত্রের জন্য চরিত্রের জন্য অভিন্ন পদ্ধতিগুলি বিভিন্ন উদ্দেশ্যে একই কাজ করে, এবং ধারাবাহিকভাবে প্রয়োজনীয় উদ্দেশ্যে প্রয়োজনীয় পদ্ধতির পছন্দকে ভিত্তি করে তোলে, তবে যদি পরে সেই উদ্দেশ্যেগুলির মধ্যে একটির জন্য সামান্য কিছু করা দরকার হয়, তবে উপযুক্ত পরিবর্তন করে changing পদ্ধতিটি কেবল সেই আচরণগুলিকে প্রভাবিত করবে যা প্রভাবিত হওয়া উচিত। একটি সাধারণ প্রচলিত পদ্ধতি ব্যবহার করা পরিবর্তনটিকে আরও শক্ত করে তুলতে পারত ।
সুপারক্যাট 26'14

7

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

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

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


2

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


0

আমি সপ্তাহের যে কোনও দিন ডিআরওয়ির পরিবর্তে পঠনযোগ্য (= রক্ষণাবেক্ষণযোগ্য) বেছে নেব। বাস্তবে উভয়ই সারিবদ্ধ থাকে, যে কেউ ডিআরওয়াই ধারণাটি পায় সে সাধারণত পাঠ্যযোগ্য কোড তৈরি করে produce


2
কোনও ব্যাখ্যা ছাড়াই, অন্য কেউ যদি বিপরীত মতামত পোস্ট করে তবে এই উত্তরটি অকেজো হতে পারে। উদাহরণস্বরূপ, কেউ যদি সপ্তাহের কোনও দিনের পরিবর্তে "আমি DRY (= রক্ষণাবেক্ষণযোগ্য) পড়ার যোগ্য বেছে নেব" এর মতো দাবি পোস্ট করে, তবে এই উত্তর পাঠককে দুটি বিরোধী মতামত বেছে নিতে কীভাবে সহায়তা করবে? এটিকে আরও উন্নত আকারে সম্পাদনা করার কথা বিবেচনা করুন
gnat

0

আমার কেরিয়ারে খুব খুব খুব খুব কম সময় আমি এমন একটি বৈধ মামলা পেয়েছি যেটি ডিআরওয়াইয়ের বিরুদ্ধে পড়ার যোগ্যতা অর্জন করে। প্রথমে এটি পাঠযোগ্য। জিনিস ভাল নাম। প্রয়োজনে কপি করে পেস্ট করুন।

এখন পিছনে পদক্ষেপ এবং আপনার তৈরি সামগ্রিকতার দিকে তাকান, যেমন কোনও শিল্পী পেইন্টিংয়ের দিকে ফিরে তাকানোর জন্য ste এখন আপনি পুনরাবৃত্তি সঠিকভাবে সনাক্ত করতে পারেন।

বারবার কোডটি হয় নিজস্ব পদ্ধতিতে রিফ্যাক্ট করা উচিত, বা নিজের শ্রেণিতে টানা উচিত।

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

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