রিচ হিকির অর্থ কী ছিল যখন তিনি বলেছিলেন, "এই সমস্ত বৈশিষ্ট্য [ইন্টারফেস / শ্রেণি / প্রকারের] আপনার পুনরায় ব্যবহারকে মেরে ফেলে!"


41

রিচ হিকির চিন্তা-চেতনামূলক গোটো সম্মেলনের মূল বক্তব্যটি " মূল্যবোধের মূল্য " ২৯ মিনিটে তিনি জাভার মতো ভাষার ওভারহেডের বিষয়ে কথা বলছেন এবং এমন বক্তব্য দেন যে, "এই সমস্ত ইন্টারফেস আপনার পুনরায় ব্যবহারকে মেরে ফেলবে।" সে কি বোঝাচ্ছে? এটা কি সত্যি?

উত্তরের সন্ধানে আমি দৌড়ে এসেছি:

  • ন্যূনতম জ্ঞানের মূলসূত্র একেএ দ্য মিটারের আইন যা বায়ু সংঘটিত এপিআই ইন্টারফেসকে উত্সাহ দেয়। উইকিপিডিয়ায় কিছু অসুবিধাগুলির তালিকাও রয়েছে।

  • কেভলিন হেনির ইম্পেরিয়াল পোশাক সংকট যা যুক্তি দেয় যে ব্যবহার, পুনরায় ব্যবহার না করা উপযুক্ত লক্ষ্য।

  • জ্যাক ডিয়েডেরিচের " ক্লাস রাইটিং ক্লাস " আলোচনা যা সাধারণভাবে ওভার ইঞ্জিনিয়ারিংয়ের বিরুদ্ধে তর্ক করে।

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

আমি কিছু কোডের বৈধ কিন্তু অনিচ্ছাকৃত ব্যবহার রোধ করার জন্য একটি ভাল ইন্টারফেসের একটি ভাল উদাহরণ খুঁজছি। তা কি বিদ্যমান? আমি এটি ছবি করতে পারি না।


1
স্টাফটি দেখে / পড়েনি (আমি আমার দেখার তালিকায় "ক্লাস রাইটিং ক্লাস" যুক্ত করেছি :)) তবে তারা সম্ভবত গতিশীল বনাম স্ট্যাটিক টাইপিং কোণ থেকে তর্ক করছে? ... আবার?
আন্দ্রেস এফ।

ওও অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস ইন্টারফেস
টমাস এডিং

লিঙ্কগুলির জন্য ধন্যবাদ! জ্যাক ডিয়েডেরিচের বক্তব্যটি আমি বিশেষভাবে আলোকিত করতে পেলাম না (দেখুন তিনি কীভাবে দৃ's়তার সাথে শ্রোতাদের সত্যিকারের প্রশ্নের উত্তর দিতে ব্যর্থ হন .. "আহ, হ্যাঁ, সম্ভবত সে ক্ষেত্রে ...") আমি তার মতো করেছিলাম যেমন তিনি ফাংশনাল প্রোগ্রামিংয়ের জন্য তর্ক করছেন বলে মনে হচ্ছে এমনকি এটি লক্ষ্য করেও;)), তবে "ইম্পেরিয়াল পোশাক সংকট" খুব ভাল এবং অন্তর্দৃষ্টিপূর্ণ।
আন্দ্রেস এফ।

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

1
অ্যামাইব্ল্যাঙ্কনিশীপটি আমি উপরের লিঙ্কিত "ইম্পেরিয়াল পোশাক সংকট" অন্তর্দৃষ্টিযোগ্য হিসাবে দেখতে পেয়েছি। লেখক একটি মিথ্যা প্রতিমা "পুনরায় ব্যবহার" বিবেচনা করে (এমন কিছু যা বাস্তবে কার্যকর হিসাবে প্রমাণিত হয়নি, এবং বেশিরভাগ লোকেরা শব্দটি ব্যবহার করার পরেও এটিকে বুঝতে পারে না)। তিনি গ্রন্থাগারগুলিকে "পুনরায় ব্যবহার" হিসাবে বিবেচনা করেন না; আপনি একটি লাইব্রেরি ব্যবহার করেন , আপনি এটি পুনরায় ব্যবহার করবেন না । তিনি "দ্বি-তরোয়াল তরোয়াল" পুনঃব্যবহারের জন্য কিছু নকশাকে বিবেচনা করেছেন; লোকেরা সাধারণত একটি জয়-পরাজয় পরিস্থিতি বিবেচনা করে তবে বাস্তবে তা হয় না: আপনি যখন পুনঃব্যবহারের জন্য কোনও নকশা তৈরি করেন তখন এটি সর্বদা একটি আপস হয় (যেমন আপনি সরলতায় হারাতে পারেন)
Andres F.

উত্তর:


32

পূর্ণ রিচ হিকি উপস্থাপনা দেখা হয়নি, কিন্তু যদি আমি তাকে সঠিকভাবে বুঝতে, এবং তিনি 29 মিনিটের চিহ্ন সম্পর্কে কি বলে থেকে বিচার, সে সম্পর্কে তর্ক হবে বলে মনে হয় ধরনের পুনঃব্যবহারের মারা যান। তিনি "নামকরণ প্রকার" এর প্রতিশব্দ হিসাবে আলগাভাবে "ইন্টারফেস" শব্দটি ব্যবহার করছেন, যা উপলব্ধি করে।

আপনার যদি জাভা-জমিতে টাইপ এবং { "name":"John" }প্রকারের দুটি সত্ত্বা থাকে তবে তারা সম্ভবত কোনও ইন্টারফেস বা পূর্বপুরুষকে ভাগ না করা (যেমন , যার অর্থ আরও কোড লেখার) থাকে তবে তারা হস্তক্ষেপ করতে পারবেন না । সুতরাং এখানে ইন্টারফেস / প্রকারগুলি হ'ল "আপনার পুনঃব্যবহারটি মেরে ফেলছে": যদিও একইরকম এবং দেখতে একইরকম একটির পরিবর্তে অন্যটির সাথে ব্যবহার করা যাবে না, যদি না আপনি এটি সমর্থন করার জন্য অতিরিক্ত কোড না লিখে থাকেন। দ্রষ্টব্য হিকির জাভাতে প্রচুর ক্লাসের প্রয়োজনের প্রকল্পগুলির সম্পর্কেও রসিকতা করা হয়েছে ("এখানে কে মাত্র 20 টি ক্লাস ব্যবহার করে একটি জাভা অ্যাপ্লিকেশন লিখেছেন?"), যা উপরেরগুলির একটি পরিণতি বলে মনে হয়।Person{ "name": "Rover" }DogMammalPersonDog

"মান-ভিত্তিক" ভাষায়, তবে আপনি এই কাঠামোগুলিগুলিতে প্রকারগুলি বরাদ্দ করবেন না; এগুলি কেবল একই মানগুলি যা একই কাঠামোটি ভাগ করে নেওয়ার জন্য ঘটে (আমার উদাহরণস্বরূপ, তাদের দু'জনেরই nameএকটি স্ট্রিংয়ের মান রয়েছে) এবং তাই তারা সহজেই আন্তঃসংযোগ স্থাপন করতে পারে, যেমন তারা একই সংগ্রহের সাথে যুক্ত হতে পারে, একই পদ্ধতিতে পাস করা ইত্যাদি etc.

সংক্ষিপ্তসার হিসাবে, এই সমস্ত কাঠামোগত সাম্যতা বনাম সুস্পষ্ট টাইপ / ইন্টারফেস সমতা সম্পর্কে কিছু বলে মনে হচ্ছে । যতক্ষণ না আমি এখনও ভিডিওটি দেখেছি তার অংশগুলি থেকে কিছু মিস না করে :)


2
বিটিডাব্লু, জ্যাক ডিয়েডেরিচের বক্তব্য "ক্লাস রাইটিং ক্লাস" এই বিষয়টির সাথে সম্পর্কিত নয় বলে মনে হয় এবং এটি YAGNI সম্পর্কে আরও বেশি এবং "আপনার প্রয়োজন না হওয়া পর্যন্ত কোড লিখবেন না, এবং কেবলমাত্র সহজ কোড লিখুন"।
আন্দ্রেস এফ।

9
ERROR: Object doesn't have a property called "name"প্রায়শই value-orientedভাষার ফলাফল এবং অন্য সমস্যাটি হ'ল আপনি যখন সেই সম্পত্তিটিকে আর কল করতে চান না name। গুড লাক refactoring কারণ একটি সম্পত্তি সঙ্গে বস্তুর সম্ভবত শত শত আছে nameকিন্তু সব না Personবা Dog
আয়তাকার

2
@ ম্যাথিউফস্কারিনী হ্যাঁ, আমি অগত্যা এটির সাথে একমত হই না, হিকি যে বলেছিল তা আমি কেবল এটিই ব্যাখ্যা করি :) আমি টাইপ এবং স্ট্যাটিক টাইপিং পছন্দ করি; আমি শুধু জাভা অপছন্দ করা শুরু করছি। এবং আমার অপছন্দ টির সাথে সম্পর্কিত নয় interfaceতবে সেই জঞ্জালটির সাথে যা সাধারণত জাভা প্রকল্প।
আন্দ্রেস এফ।

1
যারা খুব বেশি চিন্তা করতে পছন্দ করেন তাদের জন্য জাভা হল প্রোগ্রামিং ভাষা। এটি কয়েকটি ভাষাগুলির মধ্যে একটি যা কোনও বিকাশকারীকে কোনও প্রকল্পের ইঞ্জিনিয়ারের ওভার চেষ্টা সহজেই আড়াল করতে দেয়।
25:33 এ 23

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

28

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

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

এটি জিইউআই ফ্রেমওয়ার্কের মতো যা IWindowডায়ালগ বাক্সের জন্য একটি ইন্টারফেস রয়েছে এবং তারপরে আপনি IButtonনিয়ন্ত্রণের জন্য ইন্টারফেস যুক্ত করতে পারেন । ব্যতীত, তারা আপনাকে Buttonপ্রয়োগ করে এমন একটি ভাল শ্রেণি দেয় নি IButton। সুতরাং আপনি নিজের তৈরি করতে রেখে গেছেন।

মূল ক্রিয়াকলাপ সরবরাহ করে এমন বিস্তৃত বেস ক্লাসযুক্ত বিমূর্ত ফ্রেমওয়ার্কগুলি আরও পুনরায় ব্যবহারযোগ্য এবং যখন সেই বিমূর্ত শ্রেণিগুলি ফ্রেমওয়ার্ক ব্যবহার করে তাদের কাছে অ্যাক্সেসযোগ্য হয় তখন তা কার্যকর হয়।

জাভা বিকাশকারীরা এই জিনিসটি করতে শুরু করেছিলেন যেখানে কেবলমাত্র তাদের এপিআই স্তরগুলিই উন্মুক্ত interfaces। আপনি সেই ইন্টারফেসগুলি বাস্তবায়ন করতে পারেন, কিন্তু আপনি সেই বিকাশকারীদের ক্লাসগুলি পুনরায় ব্যবহার করতে পারবেন না যা এই ইন্টারফেসগুলি প্রয়োগ করে implemented এটি এপিআই বিকাশের একটি পোশাক এবং ছিনতাইয়ের শৈলীর মতো।


4
এই উত্তরের জন্য আপনাকে ধন্যবাদ। আমি এখন মনে করি আমি প্রশ্ন এবং উত্তরটি বুঝতে পেরেছি :)
মেটাফাইট

2
+1 আমি আপনার উত্তরটির সত্যই প্রশংসা করি এবং এটি এই প্রশ্নের সাথে আকর্ষণীয় তথ্যের একটি আকর্ষণীয় স্তর যুক্ত করে। তবে আমি মনে করি আন্ড্রেয়াস এফ এর উত্তর সম্ভবত মিঃ হিকি বলে যা বোঝায় তার হৃদয়ের খুব কাছাকাছি, তাই আমি তার পরিবর্তে তাকে মেনে নিলাম।
গ্লেনপিটারসন

@ গ্লেনপিটারসন কোনও সমস্যা নেই, আমি মনে করি তিনিও সেই চিহ্নে থাকতে পারেন।
প্রতিক্রিয়াশীল

1
ভাল এই এবং গৃহীত উত্তর দুটি সামান্য পৃথক, কিন্তু সমান আকর্ষণীয়, ব্যাখ্যা। এই বিষয়ে কথা বলার সময় আমি মিঃ হিকির মনে মনে কৌতূহল ছিলাম ..
ডেভিড কাউডেন

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

14

আমি মনে করি তার উপস্থাপনায় 13 টি স্লাইড ( মূল্যবোধের মান ) এটি বুঝতে সহায়তা করে:

http://i.stack.imgur.com/LVMne.png


মানগুলি

  • না প্রয়োজন পদ্ধতি
    • আমি কোড ছাড়াই আপনাকে মান পাঠাতে পারি
      এবং আপনি ভাল আছেন

আমার বোঝাপড়াটি হিকির পরামর্শ দেয় যে, আমাকে যদি আপনি যে মূল্য পাঠিয়েছেন তার দ্বিগুণ করার দরকার হয় তবে আমি কেবল কোডটির মতো দেখতে লিখি

    MyValue = Double(YourValue)

আপনি দেখতে পাচ্ছেন, উপরের কোডটি সমান, আপনি যে ধরণের মান প্রেরণ করেছেন তা বিবেচনাধীন নয় - একটি নিখুঁত পুনঃব্যবহারের সাজান ।

এখন, ভাষাতে এটির মতো দেখতে কীভাবে বস্তু এবং ইন্টারফেস থাকবে?

    Doublable MyValue = YourValue.Double()

অপেক্ষা কর! YourValueবাস্তবায়ন না হলে কি হবে Doublable? এটি দ্বিগুণ করা যাবে না, এটি পুরোপুরি হতে পারে তবে ... যদি কেবল কোনও পদ্ধতি না থাকে তবে Double ? (যদি বলার মতো কোনও পদ্ধতি থাকে তবে কী হবে TwiceAsMuch?)

ওহ, আমরা একটি সমস্যা পেয়েছি। YourValue.Doubleকাজ করবে না, এটি আর পুনরায় ব্যবহার করা যাবে না। আমার উপরের স্লাইডগুলি পড়ার জন্য, হিকির অর্থ এই ছিল যে তিনি যখন বলেছিলেন, "এই সমস্ত ইন্টারফেসগুলি আপনার পুনরায় ব্যবহারকে মেরে ফেলে!"

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

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


পার্শ্ব দ্রষ্টব্য: কোড-কম মানগুলি অতিক্রম করার ধারণাটি কোনওভাবে আমাকে ওওপিতে একটি ফ্লাইওয়েট ধরণের স্মরণ করিয়ে দেয় ।

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

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

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


5
জেনারিকস বেশিরভাগ ক্ষেত্রেই এই সমস্যাটির যত্ন নেবেন। দ্বিগুণ হওয়া কিছু কিছু বিষয়কে বোঝায় তবে অন্যের পক্ষে তা নয়। গো ভাষায়, অন্তর্নিহিত ইন্টারফেস বাস্তবায়ন (হাঁসের টাইপের একটি ফর্ম) রয়েছে, সুতরাং আপনার উদ্বেগ করার মতো সমস্ত ইন্টারফেস নেই। অন্যদিকে, আপনি বাছাই করতে হবে যে কোন পদ্ধতিতে আপনার পদ্ধতির স্বাক্ষর দ্বারা আঘাত হানা যাচ্ছে; অন্যথায়, আপনি অপ্রত্যাশিত ফলাফল পেতে পারেন। সর্বদা ট্রেড অফস রয়েছে।
রবার্ট হার্ভে

1
একটি আকর্ষণীয় গ্রহণ। ভাল উত্তর!
maple_shaft

2
ফ্লাইওয়েট প্যাটার্নটি রিচ যে কথা বলছে তা নয়। নিবন্ধের দ্বিতীয় বাক্যে যেমন বলা হয়েছে, ফ্লাইওয়েট প্যাটার্নের উদ্দেশ্য স্মৃতি সংরক্ষণ করা। সমৃদ্ধের দৃষ্টিভঙ্গি এটি করার চেষ্টা করে না।

5
MyValue = Double(YourValue)আপনার ভ্যালু যদি স্ট্রিং, ঠিকানা, ব্যবহারকারী, কোনও ফাংশন বা ডেটাবেস হয় তবে তা বোঝা যায় না। অন্যথায়, আপনার অনুপস্থিত পদ্ধতির যুক্তিটি শক্তিশালী। OTOH, অ্যাক্সেসর পদ্ধতি আপনাকে বিভিন্ন সীমাবদ্ধতা প্রয়োগ করতে দেয় যাতে আপনার মানগুলি বৈধ হয় এবং কেবলমাত্র বোধগম্য ক্রিয়াকলাপগুলি নতুন মান তৈরি করতে ব্যবহৃত হয়। যদি আপনি পরে আপনার ব্যবহারকারী এবং সংস্থা থেকে ঠিকানা পৃথক করার সিদ্ধান্ত নেন, অ্যাক্সেসর পদ্ধতিগুলির অর্থ আপনি আপনার কোডের সমস্ত ক্লায়েন্টকে ভাঙ্গবেন না। তাই তারা দীর্ঘমেয়াদে পুনরায় ব্যবহার করতে সহায়তা করতে পারে এমনকি যদি তারা মাঝে মাঝে স্বল্পমেয়াদে এটির প্রতিবন্ধক হয়।
গ্লেনপিটারসন

4
(অন্যদিকে, আমি সম্মত হই যে জাভা-জমিতে ক্লাস, ইন্টারফেস এবং ফ্রেমওয়ার্কের বিস্ফোরণ একটি দুঃস্বপ্ন Java গতিশীল টাইপিং স্টাফগুলির সাথে অগত্যা একমত না হয়ে প্রশ্নোত্তরের উত্তর দিন)
Andres F.

2

একটি (অর্থাত্ আমার) আদর্শ ওয়ার্ল্ড ক্লাস এবং ইন্টারফেস সর্বদা আচরণের বর্ণনা দেয় তবে সত্য যে সবসময় প্রায়শই তারা কেবল ডেটা বর্ণনা করে। কেবল গতকালই আমি দেখলাম যে কারওর একটি তথাকথিত BankAccountশ্রেণি তৈরির ভিডিওটি প্রশংসিত ছাড়া আর কিছুই ছিল না int(আসলে এটি একটির চেয়ে অনেক বেশি কার্যকর ছিল int, সুতরাং এটি পুনরায় ব্যবহারকে 'হত্যা' করতাম, যদি কেবল এটিকে ছেড়ে দেওয়া হত int), সব 'ভাল' ডিজাইনের নামে। কোডের ঘাম এবং অশ্রুগুলির পরিমাণ ক্রমাগত পুনর্নবীকরণের উপাত্তগুলিতে ডেভলপ করা হয়; আপনি যদি অর্থবহ উপায়ে ডেটা ব্যবহার না করে থাকেন তবে দয়া করে এটি হতে দিন।

এখন, এই ধাপে ধনী হিকি বাচ্চাকে স্নানের জল দিয়ে ফেলে দেওয়ার বিষয়ে সন্তুষ্ট এবং বলেছিলেন যে আমাদের সকলকে মূল্যবোধের দেশে (বিশেষ্য রাজ্যের প্রতিবেশী) বাস করা উচিত। আমি মনে করি, হস্তক্ষেপে, ওওপি যথাযথভাবে নিযুক্ত হওয়ার সময় পুনরায় ব্যবহারের (এবং গুরুত্বপূর্ণভাবে আবিষ্কারের, যা আমি কার্যকরী প্রোগ্রামিংয়ের অভাব দেখতে পাই) প্রচার করতে পারি এবং করতে পারে। যদি আপনি এমন কোনও ওওপি নীতি খুঁজছেন যা এই উত্তেজনাকে সবচেয়ে ভালভাবে ধরে ফেলে তবে আমি মনে করি এটি হতে পারে http://c2.com/cgi/wiki?TelllDontAsk (অবশ্যই কোনটি ডেমিটারের খুব কাছের চাচাত ভাই)


আবিষ্কারের অর্থ কী? এটা অনুরূপ হয় এই ?

1
হ্যাঁ, আমি মনে করি এটি মূল পয়েন্টগুলিকে স্পর্শ করে। এটি একটি সূক্ষ্ম বিন্দু তবে আবিষ্কারযোগ্যতা ভারসাম্যপূর্ণ কাজ, জিনিসগুলিকে খুব স্বচ্ছ তৈরি করাও অনাকাঙ্ক্ষিত কারণ আপনি শব্দ অনুপাতের জন্য খারাপ সংকেত পাবেন।
কার্টেনডগ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.