সি ++ "পদ্ধতি" (বনাম "সদস্য ফাংশন") সম্পর্কে কথা বলা কতটা ভুল?


19

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

আমি এমন একটি API নথি করছি যাতে সি ++ এবং জাভা উভয় সংস্করণ রয়েছে। বিকাশকারীরা পোর্টিং এবং টেস্টিংয়ে সাফল্যের জন্য সম্ভবত শ্রেণিবদ্ধ এবং পদ্ধতি / সদস্য-ফাংশন নাম দুটির মধ্যে একই রেখেছিলেন। এ কারণে, এই এপিআইগুলি সম্পর্কে যা কিছু নথিভুক্ত করা দরকার তা ভাষার পছন্দটি "উপরে" বসে; আমি ফুস এবং বারগুলি সম্পর্কে তাদের বাজ () এবং বিড়বিড় করে () ... পদ্ধতিগুলি নিয়ে সাধারণভাবে কথা বলতে পারি?

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

এটি কোনও মতামত জরিপ নয়; আমি এই সমস্যাটি সমাধানের জন্য প্রকৃত সম্মেলন বা সাধারণ অনুশীলন আছে কিনা তা নির্ধারণ করার চেষ্টা করছি ।

আমি এই প্রশ্নটি সম্পর্কে সচেতন , তবে এটি সাধারণভাবে ওওপি সম্পর্কে এবং নির্দিষ্ট ভাষা সম্পর্কে জিজ্ঞাসা করে না।


আমি এটি জিজ্ঞাসার আগে সহায়তা কেন্দ্রটি পড়েছি এবং ট্যাগগুলির তালিকা পর্যালোচনা করেছি। আমি এখানে জিজ্ঞাসা করে কিছু ভুল করেছি?
মনিকা সেলিও 21

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

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

1
@ জিমিহোফা এটি আরও ভাল?
মনিকা সেলিও

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

উত্তর:


11

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


এটি আমিই করেছি এবং এখনও পর্যন্ত লোকেরা এটির সাথে ঠিক আছে বলে মনে হচ্ছে। পরামর্শের জন্য ধন্যবাদ.
মনিকা সেলিও 20'16

15

ঠিক আছে, আপনি এর জন্য মৃত্যুদন্ড কার্যকর করতে যাচ্ছেন না।

সি ++ বিশ্বে অভিযোগ প্যাডেন্টিক নির্ভুলতার একটি নয়: এটি অস্পষ্টতার মধ্যে একটি। তাই আছে বিভিন্ন প্রান্তরে "পদ্ধতি" ধরণের সেখানে আউট আপনি কি ধরনের ডোমেন বিষয়ে কথা বলছি, যা আমাদের একটি গুচ্ছ পরে এড়ানোর ভুল বোঝাবুঝি থেকে মান পরিভাষা বিদ্ধ করতে পছন্দ উপর নির্ভর করে। এর অর্থ, মোটামুটি, "স্ট্যাটিক / [নন-স্ট্যাটিক] [খাঁটি] ভার্চুয়াল / [নন-ভার্চুয়াল] সদস্য / [ফ্রি] ফাংশন")।

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

তবে আমি নিশ্চিত যে লক্ষ লক্ষ পেশাদার সি ++ প্রোগ্রামার আছেন যারা নিজেরাই জানেন না যে এটি একটি জিনিস। এটি একটি বড় ওল 'বিশ্বের।

আপনি এটির জন্য মৃত্যুদন্ড কার্যকর করতে যাচ্ছেন না।


3

আইফেল তাদের রুটিন বা বৈশিষ্ট্যগুলি বলে , সি ++ তাদের সদস্য ফাংশন বলে , এবং (প্রায়) সি ++ এর আগে এবং পরে উভয়ই কম্পিউটারের পুরো ইতিহাসে তৈরি করা প্রতিটি অন্যান্য ওও ভাষা তাদের পদ্ধতিগুলি বলে , যাতে পরবর্তী শব্দটি সাধারণত বুঝতে পারাও উচিত সি ++ (এবং আইফেল) প্রোগ্রামাররা, যদি না তারা সত্যই সিমুলা, স্মলটালক, স্ব, অবজেক্টিভ-সি, নিউজপ্যাক, জাভা, সি #, ভিবি.এনইটি, পিএইচপি, পাইথন, রুবি, ইসমাস্ক্রিপ্ট / জাভাস্ক্রিপ্ট, স্কেলা, কফিস্ক্রিপ্ট,…


বিন্দুটি বাদে তারা প্রায়শই সেই ডোমেনগুলিতে সূক্ষ্মভাবে বিভিন্ন জিনিস বোঝায়। এ কারণেই ওপি জিজ্ঞাসা করছে যে ডোমেন-নির্দিষ্ট পরিভাষাটি আঁকানো আরও ভাল, এবং সঠিক উত্তরটি কেন "হ্যাঁ" ...
মনিকা এর সাথে লাইটনেস রেস

জাভাস্ক্রিপ্ট উদ্ধৃত করে আপনি বুঝতে পেরেছেন যে আমার ক্লাসটি নেই, যার ক্লাসও নেই (এর OO প্রোটোটাইপ-ভিত্তিক)। তাহলে কীভাবে জাভাস্ক্রিপ্টের পদ্ধতিগুলি অন্য কোথাও পদ্ধতির মতো হতে পারে? আপনি যে পারস্পরিক বোধগম্যতার দাবি করছেন তা আসলে বিদ্যমান নেই।
মনিকার সাথে লাইটনেস রেস

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