উদ্বেগ বিচ্ছিন্ন করার বিষয়ে লিখেছেন কি ডিজজস্ট্র কোড সংশোধন করার ইচ্ছা করেছিলেন?


9

প্রথম, আমি এডজার ডাব্লু ডিজকস্ট্রার ১৯ 197৪ সালের "বৈজ্ঞানিক চিন্তার ভূমিকার বিষয়ে" পত্রিকাটি পড়েছিলাম:

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

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

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

সংক্ষিপ্ত উদাহরণের জন্য, এখানে এমন কিছু কোড রয়েছে যাতে ডেটা অ্যাক্সেস রয়েছে এবং দেখুন (আউটপুট):

$sql = "SELECT * FROM product WHERE id = " . db_input($id);
$row = db_fetch_array(db_query($sql)); 
<option value="<?=$row['id']?>"<?= $row['ver'] == $row['ver'] ? '  selected="selected"' : '' ?>>Version <?=$row['ver']?></option>

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

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

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

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

উদ্বেগের বিচ্ছেদ কি শারীরিকের চেয়ে মানসিক অনুশীলন থেকে যায়?
অন্য কথায়, প্রোগ্রামিংয়ের মানসিক (ফোকাস) এবং শারীরিক (কাগজে কোড) দিকগুলির মধ্যে কি কোনও সংযোগ বিচ্ছিন্ন হওয়া উচিত?


5
আমি যথেষ্ট নিশ্চিত যে 1974 সালের মধ্যে, তিনি কেবলমাত্র একটি স্পষ্টরূপে মডিউলার প্রোগ্রামিং দেখেছিলেন, এবং সে কারণেই তিনি এই কাগজে স্পষ্টভাবে আলোচনা করেননি। কীভাবে মডুলারাইজ করা যায় সে সম্পর্কে পার্নাসের গবেষণাপত্রটি ১৯ and২ সালে ছিল এবং সেই সময়ের মধ্যে মডিউলাইজ করা হবে কিনা তা এখনই আর কোনও প্রশ্ন ছিল না। আসলে, আপনি যা বর্ণনা করেছেন তা এমনকি মডুলার প্রোগ্রামিং নয়, এটি কাঠামোগত প্রোগ্রামিং , যা ডিজকস্ট্রা নিজেই তাঁর ক্লাসিক "গো টু বিবেচনা ক্ষতিকারক" পেপারে ইতিমধ্যে 1968 সালে পক্ষে দৃ strongly়তার সাথে যুক্তি দিয়েছিলেন।
জার্গ ডব্লু মিট্টাগ

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

@ জার্গডব্লিউমিত্যাগ, আপনি কাঠামোগত এবং মডিউলার প্রোগ্রামিংয়ের মধ্যে পার্থক্য নির্ধারণ করতে পারেন? গুগলে কিছু লিঙ্ক প্রস্তাব দেয় যে সেগুলি একই রকম।
ডেনিস

স্ট্রাকচার্ড = IF, WHILE, FORপরিবর্তে GOTO। মডিউলার = একটি সুনির্দিষ্ট সংজ্ঞায়িত পাবলিক এপিআই সহ মডিউলগুলি কোনও লুকানো অভ্যন্তরীণ বাস্তবায়ন এবং উপস্থাপনা থেকে কঠোরভাবে পৃথক। (উদাঃ মডুলা, মেসা, মডিউলা -২, মডিউলা -৩, পরবর্তীকালে পাস্কাল উপভাষা ( UNIT)))
জার্গ ডব্লু মিট্টাগ

উত্তর:


2

কীভাবে ভাববেন সে সম্পর্কে সুস্পষ্ট বক্তব্য দিচ্ছেন ডিজকસ્ત્રা। প্রোগ্রাম (এবং প্রক্রিয়া) সংশোধন - এবং এটি আকাঙ্ক্ষিত - সম্ভবত সেই চিন্তার ফলস্বরূপ, তবে তিনি যে মূল বিষয়টি তৈরি করছেন সেটি হ'ল কীভাবে সমস্যাটিকে মূল্যায়ন করা যায়। প্রোগ্রামটি সাধারণত একটি সমস্যার সমাধান এবং "উদ্বেগের বিচ্ছেদ" এর পক্ষে পরামর্শ দিয়ে তিনি বিজ্ঞ পরামর্শ দিচ্ছেন। এর সর্বোত্তম উদাহরণ সম্ভবত "অপটিমাইজেশন"। রসিকতাটি ছিল: "কোনও প্রোগ্রামকে অনুকূলিত করার পরিকল্পনা করার সময় আপনার প্রথম কৌশলটি হওয়া উচিত: করবেন না Don't" অন্য কথায়, আপনি প্রথমে প্রোগ্রামটি সঠিক করার দিকে মনোনিবেশ করতে চান। এটিকে দ্রুত এবং অভিনব করে তোলা একটি উদ্বেগ যা পৃথক করা উচিত - তবে এটি পুরোপুরি সরিয়েও দেওয়া হয় না।


14

উদ্বেগ পৃথকীকরণ চিন্তাভাবনার একটি বিমূর্ত উপায় যা পৃথক বিষয়গুলির সাথে সম্পর্কিত হতে হবে না তা বিবেচনা করে গঠিত।

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


9

আমি পরামর্শ দেব যে, কাগজটি historicতিহাসিক আগ্রহের সাথে, 40 বছর আগে ডিজকস্ট্রার "উদ্বেগের বিচ্ছেদ" শব্দটি যা বোঝায় তা আজ বিশেষভাবে প্রাসঙ্গিক নয়। আজকাল এটি মডুলাইজেশনের প্রসঙ্গে ব্যাপকভাবে ব্যবহৃত হয়।

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


5
আমি মনে করি যে এটি বিবেচনা করা উচিত যে উদ্বেগ বিচ্ছিন্নকরণ সম্পর্কে আধুনিক চিন্তাধারার প্রারম্ভিক কাগজপত্রগুলি থেকে শেষ পর্যন্ত আইবিএম থেকে অ্যাস্পেক্ট ওরিয়েন্টেড প্রোগ্রামিং তৈরি হয়েছিল। আমি মনে করি প্রাথমিক কাগজপত্রগুলি (90s-2000-এর প্রথম দিকে) সেখানে সবচেয়ে বড় প্রভাব। এটি একটি সময় হয়েছে এবং ওয়েবসাইটগুলি সব পরিবর্তন হয়েছে। আমি তাদের আবার খুঁজে পেতে পারি কিনা তা নিশ্চিত নয়।
বেরিন লরিটস

2
"এক জিনিস" এর অর্থ কী তা বোঝার চেষ্টা করা কঠিন অংশ। তা ছাড়া, ব্যবহারিক কোড রাইটিংয়ের ক্ষেত্রে ধারণাটি অকেজো, এবং এটি ভুল হয়ে যাওয়ায় কোডটি লেখার, পড়া, বোঝার, বজায় রাখা এবং পরীক্ষার অসুবিধাতে তাত্ক্ষণিক ক্ষতিকারক প্রভাব পড়ে।
jpmc26

1
এটি সত্যই আমাদের আপনার অবস্থানটি বুঝতে সহায়তা করবে যদি আপনি (ক) ডিজকস্ট্রার "উদ্বেগের বিচ্ছেদ" দ্বারা বোঝানো কী বোঝায় এবং (খ) আপনি কেন মনে করেন যে তিনি কী বোঝাতে চেয়েছিলেন তা আর প্রাসঙ্গিক নয় explain
জন আর স্ট্রোহম

2

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

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

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

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


1

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

  • সুবহ
  • প্রচুর বিভিন্ন বাহ্যিক সরঞ্জাম দ্বারা অ্যাক্সেসযোগ্য
  • একাধিক প্রোগ্রামার দ্বারা অ্যাক্সেসযোগ্য
  • সংস্করণযোগ্য এবং তুলনীয়
  • অপারেটিং সিস্টেমগুলির সাথে ভাল স্কেল করুন যা ফাইল হ্যান্ডলিংয়ে খুব ভাল হয়

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

যদিও এটি ছত্রাক বা শেত্তলাগুলি বেড়ে ওঠে না ... তবে এটি কীভাবে হয়?


-1

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

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

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

কিন্তু। আপনি যদি এই বিষয়ে চাচা বব এর মতামত অনুসরণ করেন তবে এটি কেবল "এই মতামত এবং এটি একটি মডেল" এর বাইরে চলে যায় ।

যে কোনও নির্দিষ্ট ওও উপাদানগুলির প্রয়োজনীয়তার উত্সটিও বিবেচনা করা উচিত । যদি আপনি মেশাচ্ছেন, তবে বলুন, গ্রাহক অপারেশন কর্মীরা যা চায় তার সাথে কী চায়, আপনি এসআরপি লঙ্ঘনও করছেন। বা, এটি চাচা বব যেমন করেন তেমন: একটি শ্রেণীর পরিবর্তনের একটি এবং একমাত্র কারণ থাকতে হবে।

আমি আপনাকে সুপারিশ করছি যে আপনি সরবরাহিত লিঙ্কগুলি ব্যবহার করে এটি আরও গবেষণা করুন বা "সলিড নীতিগুলি" এর জন্য ওয়েব অনুসন্ধান করুন।


না। সলিড নীতিগুলি আসলে কোডিংয়ের কোড (= দার্শনিক) এর বাস্তবতা থেকে এতদূর সংযোগ বিচ্ছিন্ন হয়ে গেছে যে আপনি যখনই ইতিমধ্যে ভাল কোড লিখতে জানেন তখনই কেবল যে কোনও দূরবর্তীভাবে কার্যকর উপায়ে তা বোঝা যাবে, যে বিন্দুতে তারা সর্বোত্তমভাবে অপ্রয়োজনীয়। ইতিমধ্যে অভিজ্ঞতা এবং দক্ষতা ছাড়াই তাদের গাইডিং নীতি হিসাবে ব্যবহার করা অত্যন্ত দুর্বল কোড উত্পাদন করে।
jpmc26
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.