সঞ্চিত পদ্ধতি নামকরণের সম্মেলন? [বন্ধ]


11

আমাদের একজন প্রবীণ বিকাশকারী জানিয়েছেন যে আমাদের "objectজেক্টবার্ব" শৈলীর নামকরণের ("সদস্যগেটবাইআইডি") নামকরণের পরিবর্তে ("গেটমেবারবিআইআইডি") এর পরিবর্তে ("সদস্যগেটবাইআইডি") সহ সঞ্চয় করা পদ্ধতির জন্য নামকরণের সম্মেলনটি ব্যবহার করা উচিত। এই স্ট্যান্ডার্ডের যুক্তিটি হ'ল সমস্ত সম্পর্কিত সঞ্চিত পদ্ধতি ক্রিয়া না করে বস্তুর দ্বারা একত্রে গোষ্ঠীভুক্ত হবে।

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

আপনার এই কি গ্রহণ করা হয়? কোন উপায়ে কোনও সঞ্চিত প্রকোর নামকরণের সর্বাধিক সাধারণ উপায় এবং আপনি কোন ধরণের সঞ্চিত প্রোক নামকরণ কনভেনশন ব্যবহার করেছেন বা করেছেন?


1
"নামটি কি স্বাভাবিকভাবে পড়া যায় না"? কার দ্বারা? আপনার প্রথম প্রাকৃতিক ভাষা কি? ইংরেজি? অথবা অন্য কিছু?
এস .লট

9
@ এসলট - আমার কাছে এটি এমন কিছু দেখাচ্ছে যা আপনি দেগোবায় জলাবদ্ধতায় শুনেছেন।
TZHX

1
দুর্দান্ত প্রশ্ন! মান না থাকার চেয়ে কিছু মানদণ্ড থাকা আরও ভাল তবে কিছু সক্ষম ব্যক্তি এই ধারণাটি আরও এগিয়ে নিয়ে গিয়েছিলেন এবং একটি ভাল মান নিয়ে এসেছিলেন। উদাহরণস্বরূপ, Dijkstra কেন এটির সাথে একটি প্রথম উপাদান হিসেবে 0 বদলে 1. সূচক অ্যারে আরও অনেক কিছু জ্ঞান করে তোলে সম্পর্কে লেখা হয়েছে developeronline.blogspot.com/2008/04/... এটি একটি আপাতদৃষ্টিতে তুচ্ছ বিষয়, তবু আমি বাজি এটি নিয়ে আসতে কিছুটা ঝোঁক লাগছিল। একইভাবে, স্পলস্কির একটি দুর্দান্ত সিস্টেম রয়েছে: joelonsoftware.com/articles/Wrong.html কিছু চিন্তাভাবনা ব্যথা এড়ানো যায়
জব

4
আমি বলবো স্টোরেজ পদ্ধতিগুলি পুরোপুরি মুক্তি দিন;)
মাইকেল ব্রাউন

উত্তর:


10

এটিকে এভাবে দেখুন। আপনার পদ্ধতিগুলি কোডে কীভাবে সংগঠিত হয়? অবজেক্ট অনুসারে, পদ্ধতিগুলি বন্ধ করে দেওয়া।

MyObject.GetById(int)
MyObject.Save()

আপনার সংরক্ষিত প্রক্সগুলি সেই নামকরণের অনুকরণ করে, তারা কীভাবে আপনার উত্স কোডের সাথে সম্পর্কিত তা দেখতে অনেক সহজ হবে।

MyObjectGetById
MyObjectSave

ভাল কথা, তবে এসকিউএল সহজাতভাবে ওও নয়। আসলে এটি জাভা / সি # / ইত্যাদি থেকে একেবারেই আলাদা। কোড এটির সাথে ইন্টারফেস করে। এসকিউএলকে তার জিনিসটি করতে দেওয়া এবং জাভাটিকে তার কাজটি করতে দেওয়া স্বাভাবিক is কোড অবশ্যই উত্পন্ন করা উচিত, এটি অল্প প্রচেষ্টা দিয়ে সম্পন্ন করা যেতে পারে।
কাজ

4
আমি মনে করি না যে ওও এখানে বিবেচ্য। উপরেরটি কীভাবে এটি অপ্রাকৃত নয় তার উদাহরণ যেমন এটি প্রথম যেমন নামকরণের কনভেনশন ব্যবহার করতে দেখা যায়।
মার্ক ফ্রিডম্যান

2
কোডে কোনও পদ্ধতি থাকার পরে যদি "মাইবজেক্ট.গেটবাইআইডি (ইনট)" হয় তবে কেন একটি সঞ্চিত প্রকটটিকে "মাইবজেক্ট.গেটবাইআইডি" বলা যায় না? গোষ্ঠীকরণটি এখনও ঘটবে, এবং একটি বিন্দুটি বস্তু / সারণী এবং যে ক্রিয়াটি চেয়েছিল তার মধ্যে বিচ্ছেদ দেয়।
ক্রিস

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

1
@ মার্ক ফ্রিডম্যান, এটি নয় যে অগত্যা ওও, আপনি পদ্ধতিগত ভাষায় জিনিসগুলিকে একইভাবে গ্রুপ করুন, কেবল সেগুলি প্রকৃত বস্তুতে নেই। তবে সাধারণত কোডটি রূপান্তর করা হলে কী প্রাকৃতিকভাবে কোনও বস্তুতে পরিণত হবে তা নিয়ে উপসর্গযুক্ত। #Compare, strLen, ইত্যাদি, অবজেক্টঅ্যাকশন
CaffGeek

6

আমিও যুক্তি দেখতে পাচ্ছি; এটি সত্তার দ্বারা ক্রিয়াগুলি একসাথে একত্র করে। তবে, যদি আপনার ক্রিয়াগুলি সর্বদা GET, PUT এবং নামকরণের পরিবর্তনটি মুছে ফেলা হয় তবে এটি ততটা গুরুত্বপূর্ণ নয়। নতুন নামকরণের মানটি থেকে আমি সর্বাধিক উপকার পেতে দেখি যখন আপনি অনন্য ক্রিয়াকলাপের নাম যেমন "অ্যাকাউন্ট অ্যাকাউন্ট ট্রান্সফারমনি," থাকে that

সর্বাধিক গুরুত্বপূর্ণ বিষয়টি হল একটি একক মান আছে এবং এটি প্রত্যেকের অনুসরণ করা হয়।


1
এমন কোনও সংস্থা থেকে এসেছেন যার নামকরণের কোনও অফিশিয়াল নাম নেই ("প্রিফিক্স উইথ sp" ব্যতীত), স্ট্যান্ডার্ড থাকা কেবল একমাত্র বিষয়টির জন্য গুরুত্বপূর্ণ।
গ্লেন সলসবেরি

5

আপনি যে প্রকারগুলি সন্ধান করছেন সেগুলি খুঁজে বার করতে বা তাদের অর্থটি দ্রুত ব্যাখ্যা করার জন্য আপনাকে আরও বড় ইস্যুকারী কী তা নির্ধারণ করতে হবে?

যদি আপনি দেখেন:

সদস্যগেট আইডি সদস্যগেটনাম সদস্যগেটটি এই সদস্যলিস্টসমিংথিং ডিলিট

কিছু সময়ে, একবার আপনি ইতিমধ্যে 'সদস্য' খুঁজে পেয়েছেন তবে আপনি কেবল এটিকে এড়িয়ে যান এবং সেখান থেকে যান।

একটি ফোন বইয়ে দেখুন। আপনি যদি জন স্মিথকে সন্ধান করতে চান তবে তিনি কি স্মিথ, ডেভ স্মিথ, জন স্মিথ, রবার্ট

সত্যিই যে কঠিন? আমি জেমস বন্ড না হলে লোকেদের তাদের শেষ নাম এবং তারপরে প্রথম নামটি কল করি না।


1
+1 আমি এই প্রশ্ন এবং প্রতিক্রিয়া পছন্দ করি! এটি ব্যবহারযোগ্যতার সাথে কাজ করে এবং এটি বেশ কৌতূহলপূর্ণ এবং আকর্ষণীয় হয়ে উঠতে পারে।
কাজ

0

"অবজেক্টবার্ব" এর পরিবর্তে আপনি "নেমস্পেস_ভার্বোবজেক্ট" ব্যবহার করতে পারেন Member_GetById
এটি নেমস্পেসের মাধ্যমে প্রক্রিয়াগুলিকে গোষ্ঠীভুক্ত করবে এবং এখনও .তিহ্যবাহী "ক্রিয়াসমোথিং" নামকরণ ব্যবহার করবে।

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