থিমগুলিতে OOP ব্যবহার করা


36

আমি সত্যিই প্রয়োজনীয় নেই যখন প্রচুর প্লাগইনগুলি অবজেক্ট-ওরিয়েন্টেড কোডিং ব্যবহার করছে।

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

হাতের কাজ? এটা করার কী লাভ? স্পষ্টতই আপনি একই থিমের দুটি বা ততোধিক উদাহরণ ব্যবহার করবেন না।

আসুন ধরে নেওয়া যাক যে প্ল্যাগইনগুলি নেমস্পেসের জন্য এটি করে (যা হাস্যকর) তবে থিমের বাহানা কী? আমি কিছু অনুপস্থিত করছি?

এই জাতীয় থিম কোড করার সুবিধা কী?


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

1
আমি ব্যক্তিগতভাবে যেখানেই পারি ক্লাসগুলি ব্যবহার করি, এটি রক্ষণাবেক্ষণ, আপডেট এবং পুনরায় ব্যবহার করা আমার পক্ষে অনেক সহজ। ব্যক্তিগত পছন্দের বিষয়টিকে আলাদা করে রাখলে, ক্লাস ব্যবহারের জন্য কোন ভাল কারণ আছে?
t31os

1
অদ্ভুত, সবেমাত্র আমার মূল মন্তব্যটি (এসই বাগ সম্ভবত?) হারিয়েছে .. আমি যদিও এটি পুনরাবৃত্তি করব, কোন ক্লাস ব্যবহার না করার জন্য কোন ভাল কারণ আছে ?
t31os

2
@ মাইকচিন্কেল: আপনি কার্যটির নামের সাথে একটি উপসর্গ যুক্ত করে তা করতে পারেন। আমি মনে করি না যে কেবলমাত্র সুন্দর ফাংশনের নাম থাকলে এটি অতিরিক্ত শ্রেণীর ওভারহেডের পক্ষে মূল্যবান। যাইহোক, আমি থিমগুলি কেন এটি সম্পর্কে
উত্সাহী,

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

উত্তর:


26

আপনার দেওয়া উদাহরণের ভিত্তিতে আমি আপনার বিভ্রান্তি বুঝতে পারি। এটি ক্লাসটি ব্যবহার করার সত্যিই একটি দুর্বল উপায় ... এবং ক্লাস ব্যবহৃত হওয়ার কারণে কোনও সিস্টেম ওওপি তৈরি করে না।

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

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

আপনার প্রশ্নের উত্তর দিতে

হাতের কাজ? এটা করার কী লাভ? স্পষ্টতই আপনি একই থিমের দুটি বা ততোধিক উদাহরণ ব্যবহার করবেন না।

না, আপনি একই থিমের দুটি বা ততোধিক উদাহরণ ব্যবহার করবেন না। তবে আমি যেমন বলেছি, শ্রেণি কাঠামোটিকে এই ক্ষেত্রে ফাংশনগুলির নামকরণ হিসাবে বিবেচনা করুন, কোনও traditionalতিহ্যবাহী অবজেক্টের উদাহরণ তৈরি করে না। ক্লাসে সমস্ত কিছু একসাথে লম্পট করা এবং এটি পদ্ধতিতে কল করতে ইনস্ট্যান্টিয়েট করা ( myClass->method();) অথবা সরাসরি পদ্ধতিগুলি কল করা ( myClass::method();) সহজেই পঠনযোগ্য, পুনরায় ব্যবহারযোগ্য ফ্যাশনে জিনিসগুলির নামকরণের জন্য একটি খুব পরিষ্কার উপায়।

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

আসুন ধরে নেওয়া যাক যে প্ল্যাগইনগুলি নেমস্পেসের জন্য এটি করে (যা হাস্যকর) তবে থিমের বাহানা কী? আমি কিছু অনুপস্থিত করছি?

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

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

এই জাতীয় থিম কোড করার সুবিধা কী?

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

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


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

আমি থিমগুলিতে ওওপি ব্যবহার না করার জন্য বলছি না, যেমন এখানে কিছু লোক বুঝতে পারে, বিপরীতে (উদাহরণস্বরূপ ২.৮ উইজেট দেখুন।
onetrickpony

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

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

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

29

গতি

আমার বর্তমান বেস থিম 13 টি ক্লাস আছে। যখন আমি একটি নতুন থিম তৈরি করি, আমি হয় এই ক্লাসগুলি যেমন হয় সেভাবেই ব্যবহার করি বা আমি তাদের প্রসারিত করি। এই সিস্টেমটি একটি নতুন থিম তৈরির প্রক্রিয়াটিকে খুব দ্রুত তৈরি করে।

টাইট স্কোপস

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

রক্ষণাবেক্ষণ

প্রতিটি ক্লাস একটি ফাইল হয়। আমার যদি ক্লায়েন্টের থিম আপডেট করতে হয় তবে আমি কেবল কিছু ফাইল আপডেট করি। ক্লাসের মধ্যে যা কিছু ঘটে তা আমার পক্ষে যতক্ষণ না আমি একই এপিআই সরবরাহ করি।

একটি উদাহরণ: comment_form();কলের উপরে , আমি একটি সাধারণ ক্রিয়া ব্যবহার করি:

do_action( 'load_comment_class' );
comment_form();

কোন মন্তব্য শ্রেণি বোঝা হবে তা আমার নিয়ামককে স্থির করে। মন্তব্য শ্রেণীর ভিতরে ঠিক কী ঘটে তা পৃথক শ্রেণীর সিদ্ধান্ত নেয় ides

খাঁটি পদ্ধতিগত পদ্ধতির সাথে এটি ব্যবহার করে দেখুন এবং আপনি বাদামে যাচ্ছেন। :)

সুপাঠ্যতা

আপনি নিজের কাজের দ্বারা সবকিছু আলাদা করে রেখেছেন কয়েক মাস পরে নিজের কোডটি পুনরায় পড়া এবং বুঝতে খুব সহজ ।

দরকারী শ্রেণি শ্রেণিবিন্যাসের জন্য কয়েকটি উদাহরণ

  • Meta_Box-> দ্বারা প্রসারিত Shortdesc_Meta_Boxএবং Simple_Checkbox_Meta_Box-> দ্বারা প্রসারিতSidebar_Switch
  • User_Profile_Addon-> দ্বারা প্রসারিত User_Profile_Checkbox( প্রশ্ন 3232 দেখুন )
  • Comment_Form -> দ্বারা প্রসারিত {$theme_name}_Comment_Form

1
আপনার 'থিম' ক্লাস পাওয়ার কোনও সুযোগ আছে? আমি আমার নিজের লিখতে চাই এবং আপনি এটি কীভাবে করেন তা জানতে চাই।
হার্টকোর

1
আমি এখনও এটি সিদ্ধান্ত নি। সম্ভবত আমি পরের বছর @ বেল্টজের সাথে একটি নতুন বেস থিমটি উপলব্ধি করছি যা এই শ্রেণীর কয়েকটি ব্যবহার করে। খুব সম্ভবত মার্চের আগে নয়, আমি ভয় পাচ্ছি।
ফুসিয়া

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

2
হাইব্রিড সম্পর্কে আমি কিছু বলতে পারি না; আমি কখনই এটি ব্যবহার করি নি তবে, হ্যাঁ, এমন একটি নিয়ামক যা পর্দার আড়ালে সমস্ত কিছু সংগঠিত করে, ভাল ফিল্টার সরবরাহ করে এবং কিছু এমভিসি প্যাটার্নটি স্বাভাবিক থিম মেসের মধ্যে সন্নিবেশ করে - এটি হ'ল গুড থিং। আমাকে বিশ্বাস করবেন না। চেষ্টা করে দেখুন :)
ফুক্সিয়া

3
এখন সময় এসেছে, ওয়ার্ডপ্রেসের বিকাশকারীদের জন্য একটি ওওপি থিম প্রয়োজন; আমি আশা করি আমাদের লক্ষ্যের জন্য কাজ করার জন্য আমরা সময়কে জোর দিয়েছি। এখানে এই ছোট ছোট অংশ এবং সুবিধাগুলি গ্রাহক থিমগুলির জন্য ওওপের সাথে দুর্দান্ত সম্ভাবনাগুলি দেখায়; একটি নতুন থিম উপলব্ধ করার দ্রুত উপায় উত্তরগুলি রক্ষণাবেক্ষণের জন্যও দুর্দান্ত।
10:30 এ বোল্টেজ করুন

3

আর একটি বিষয় বিবেচনা করুন: গতি।

if ( !class_exists('cccYourClassName') )  
// VERSUS  
if ( !function_exists('ccc_your_function_name') )

সংক্ষিপ্ত চেহারা / মুদ্রণের পরে আমি খুঁজে পেয়েছি ~ 1.700 অভ্যন্তরীণ ফাংশন এবং ~ 1.400 ব্যবহারকারীর ফাংশন = ~ 3.100 / 3.200 ফাংশন ভি.এস. । 250 ক্লাস। আমার ধারণা, এটি দেখার জন্য কতটা প্রয়োজন হবে তার সর্বাধিক বলে। যদি আপনি !function_exists('')আপনার থিমের প্রায় 50-100 ফাংশনগুলির জন্য কল করেন ... কেবল একটির জন্য একটি টাইমার সেট করুন এবং তারপরে কিছু গণিত করা শুরু করুন। এটি ওওপি না হলেও কোড তৈরি করার পক্ষে এটি একটি ভাল উপায়

1) পুনঃব্যবহারযোগ্য
2) রক্ষণাবেক্ষণযোগ্য
3) বিনিময়যোগ্য
4) কিছুটা দ্রুত

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


2

কিছু যুক্তি দেয় যে এনওপ্লেসুলেশন হ'ল (বা কমপক্ষে প্রাথমিক) বেনিফিট যা ওওপি প্রস্তাব দেয়, এবং উত্তরাধিকার এবং রাজ্যটি বোরিং এবং অশুভের মধ্যে কোথাও রয়েছে:

http://obiecte.blogspot.com/2008/09/oop-sucks.html

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

আমি আমার পরবর্তী ওয়ার্ডপ্রেস প্লাগইন হাসকেলে লিখতে পারি।


1
দুর্ভাগ্যক্রমে ব্লগ কেবল "আমন্ত্রিত" ব্যবহারকারীদের জন্য উন্মুক্ত। আমাদের কখনই আমাদের তথ্য ফ্রি সার্ভিসে পোস্ট করা উচিত নয় এবং এর পরিবর্তে আমাদের নিজস্ব ব্লগগুলি হোস্ট করা উচিত কেবলমাত্র অন্য একটি অনুস্মারক। ফেসবুক এক্ষেত্রে অনেক একই। একটি আপডেট করা সংস্থান লিঙ্কটি দুর্দান্ত হবে। FWIW আমি গলি অন্ধকার দিক দেখা করেছি এবং এটি আবার ব্যবহার করবে না যদি না তা অনুষঙ্গের মধ্যে অত্যাবশ্যক আছে, যেমন উচ্চ-অর্ডার ফাংশন সাধারণত করতে পারেন প্রসারিত কার্যকারিতা এবং সাহায্যের boilerplate, এবং অপব্যবহার কমাতে classশব্দ।
জোশ হাবদাস

2

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

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

তবে যাইহোক, বেশিরভাগ অংশের জন্য ক্লাস মোড়ানো কেবলমাত্র নেমস্পেসের বিকল্প।


-4

আপনি যে কোডটি লেখেননি সে সম্পর্কে অভিযোগ করার কী লাভ?

আপনি যদি কোডটি পছন্দ না করেন তবে নিজের লিখুন!

সহজ। সমস্যা সমাধান.

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

কোড কবিতা নয়। কোড সিনট্রা গানের "আমার পথে" গানের একটি প্রকরণ ...


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