ভেরিয়েবলের নাম রাখা উচিত আইডি বা আইডি? [বন্ধ]


126

এটি কিছুটা পেডেন্টিক, তবে আমি কিছু লোককে এইভাবে ব্যবহার করতে দেখেছি Id:

private int userId;
public int getUserId();

এবং অন্যরা ব্যবহার:

private int userID;
public int getUserID();

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


40
ধারাবাহিকতা সবচেয়ে গুরুত্বপূর্ণ বিষয়টি গুরুত্বপূর্ণ। এটি উটের ক্ষেত্রে হোক বা আন্ডারস্কোর বা হোয়াইটনট না। ধারাবাহিক থাকো.

38
আপনার ভাষার এক্সএমএল এপিআইগুলি কীভাবে তা করে তা দেখুন। জাভা নামের ক্লাসগুলির মত SAXParserএবং DOMException.NET নামের ক্লাসগুলি পছন্দ করে XmlDocument। তার ভিত্তিতে, আমি জাভাতে "আইডি", সি # তে "আইডি" বলব।
লুস্কুবাল

1
তবে কনভেনশন অনুসারে আপার-কেস শনাক্তকারীরা স্থির ক্ষেত্রগুলির জন্য জাভাতে ব্যবহৃত হয়, সুতরাং বেস ক্ষেত্রের জন্য "আইডি" নামটি সেরা নয়। এবং সেখানে ধারাবাহিকতা উপস্থিত রয়েছে ...
ডানুবিয়ান নাবিক

8
আপনি ভেরিয়েবলের নাম রাখবেন EGOএবং SuperEGO? আমি তা ভাবিনি। ;)
কোজিরো

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

উত্তর:


56

এই ক্ষেত্রে অনুসরণ করার জন্য সবচেয়ে গুরুত্বপূর্ণ নিয়মটি হল ধারাবাহিকতা: অন্য সবার মতো করুন Do

উদাহরণস্বরূপ, আপনার ভাষার XML API গুলি দেখুন কীভাবে তারা তা করে।

জাভা SAXParser এবং ডোমেক্সেপশন এর মত ক্লাসের নাম ।

তার ভিত্তিতে, আমি জাভাতে "আইডি", সি # তে "আইডি" বলব।

তবে, আমি দেখেছি যে জাভা EE 6 এর একটি টীকা রয়েছে @Id( ডকুমেন্টেশন দেখুন ), তাই মনে হচ্ছে জাভা "আইডি" কে কেবল একটি সাধারণ শব্দ হিসাবে বিবেচনা করে।


@ আইডি একটি টীকা পরিবর্তন নয়, একটি টীকা শ্রেণীর নাম নির্দেশ করে। ভুল উদাহরণ।
জেভেন্টিং

3
স্যাক্স পার্সার হতে পারে (এবং ভাগ্যক্রমে তা নয়) সিম্পলএপিএফএক্সএক্সএলএমএল পার্সার (বা এমনকি সিম্পল অ্যাপ্লিকেশনপ্রগ্রামিং ইন্টারফেসফেরো এক্সেক্সেসিবল মার্চআপ ল্যাঙ্গুয়েজ পার্সার)। প্রতিটি বড় হাতের অক্ষর শব্দের সূচনা হয়। এমনকি
জাভাতেও

2
@ জওয়েন্টিং সমস্যাটি "আইডি" শব্দের মতো বিবেচনা করা হয় বা দুটি শব্দের মতো কিনা তা খুঁজে বের করছে। @Idবলে যে এটি একটি শব্দ, সুতরাং ভেরিয়েবলের নাম হবে "আইডি"।
লুস্কুবাল

নং SAX একটি সংক্ষিপ্ত বিবরণ যখন আইডি নেই।
স্পষ্টত

8
আপনি Idসি # (এবং .NET সাধারণভাবে) ব্যবহারের বিষয়ে ঠিক বলেছেন তবে অন্য কারণে। বিধিটি একটি 2-বর্ণের সংক্ষিপ্ত আকারের সমস্ত অক্ষরকে মূলধন করা হয় (উদাহরণস্বরূপ IPAddress) এবং কেবল দীর্ঘ অক্ষরগুলির প্রথম অক্ষরকে মূলধনীকরণ করা হয় (যেমন XmlDocumentআপনি দিয়েছেন তার উদাহরণ হিসাবে )। তবে Idএবং Okবিশেষভাবে উল্লিখিত এই নিয়মের ব্যতিক্রমগুলি। সম্পূর্ণ সংক্ষিপ্তসার জন্য, নিবন্ধের Capitalization Rules for Acronymsবিভাগটি দেখুন Capitalization Conventions। এমনকি মাইক্রোসফ্টও এই নিয়মটি ভেঙে DbConnectionDBNull
ফেলেছে

110

ধারাবাহিকতা রাজা; এক বা অন্যটি চয়ন করুন, তবে এটি সর্বত্রই ধারাবাহিকভাবে করুন।

এটি বলেছিল, আমি প্রথম বৈচিত্রটি পছন্দ করি, কারণ এটি উট কেস লঙ্ঘন করে না (এটি করার অর্থ আপনার মনে রাখার জন্য দুটি শৈলীর নিয়ম রয়েছে, কেবল একটি নয়)।

দুই হাতের অক্ষরে কখনও কখনও কারণ ব্যবহার করা হয় এই , কিন্তু একটি আইডি সত্যিই শুধু আইডি-entification একটি ফর্ম।


18
কোনও কম্পিউটার প্রোগ্রাম যদি আমার আইডি অ্যাক্সেস করার চেষ্টা করে তবে আমি এটি পছন্দ করব না।
blrfl


19
পছন্দ করুন SenderUserId
রবার্ট হার্ভে

5
আমি যখন আপনার সাথে একমত হই যে "আইডি "টি সেই দ্বিধাবিভক্ত উপায় যেখানে আমি দেখতে পাই সেই বিভ্রান্তিটি কোথায় আসে: দিনের বেলা কথোপকথনে আমরা আসলে এটি বলে থাকি যে এটি একটি সংক্ষিপ্ত রূপ হিসাবে আছে," আমি কি আপনার আইডি দেখতে পাব? "
500 - অভ্যন্তরীণ সার্ভার ত্রুটি

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

76

টিএল; ডিআর: নেট ক্লাসের লাইব্রেরিগুলির প্রসঙ্গে মাইক্রোসফ্ট আপনাকে আইড ব্যবহার করার পরামর্শ দেয়। এটি সামান্য পাল্টা স্বজ্ঞাত, যেহেতু এটি সংক্ষিপ্তসারটির বিরল উদাহরণ যা অনুমোদিত / প্রস্তাবিত (সংক্ষিপ্ত বিবরণগুলি সাধারণত ভাবা হয়)।

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

এটা আসে যখন আদ্যক্ষরসমস্টি , চলতি নিয়ম হল: দুই অক্ষর আদ্যক্ষরসমস্টি, আপনি তাদের বড় হাতের অক্ষরে (যেখানে পাসকাল ক্ষেত্রে প্রযোজ্য) রাখার ঝোঁক, তাই যেমন IOStreamএকটি বর্গ নাম হতে পারে। দীর্ঘায়িত সংক্ষিপ্ত আকারের জন্য, আপনি বাক্যগুলির সংক্ষিপ্ত বিবরণগুলি ছোট করুন, যেমন XmlDocumentবা HtmlParser। এটি প্রকৃতপক্ষে একটি দ্ব্যর্থহীন নিয়ম (যেখানে আপনি দুটি-অক্ষরের সংক্ষিপ্ত শব্দের শৃঙ্খল না করে এক শব্দটি শেষ হয় এবং পরবর্তীটি শুরু হয় সে সম্পর্কে কোনও বিভ্রান্তি নেই), এবং আপনি খুব তাড়াতাড়ি অভ্যস্ত হয়ে যান।

সুতরাং, এটি আইডি, বা আইডি? মাইক্রোসফ্টের মতে, আপনি যা ভাবেন সেগুলি এটি নাও হতে পারে:

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

শনাক্তকারীগুলিতে দুটি সংক্ষিপ্ত বিবরণগুলি আইডি এবং ঠিক আছে। পাস্কেল-কেস সনাক্তকারীগুলিতে তাদের আইডি এবং ঠিক আছে হিসাবে উপস্থিত হওয়া উচিত। যদি একটি উট-কেস সনাক্তকারীতে প্রথম শব্দ হিসাবে ব্যবহৃত হয় তবে এগুলি যথাক্রমে আইডি এবং ঠিক হিসাবে প্রদর্শিত হবে।

উপাখ্যানিকভাবে, আমি কখনই এই পার্থক্যটি নির্দেশিকাগুলিতে প্রদর্শিত হতে শুরু করি তা নিশ্চিত না, তবে কয়েক বছর আগে (প্রায় ৩.০ / 3.5) ক্লাসের লাইব্রেরিতে নামকরণের প্রবণতা আইডি থেকে আইডিতে গিয়েছিল।


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

আমি আইডি বেকুয়েজ ব্যবহার করি তারপরে এটি কনভেনশনটি ভেঙে যায় এবং অনন্য হিসাবে দাঁড়িয়ে থাকে এবং আমি এর
বিড়ম্বনা পছন্দ

আমি মনে করি মাইক্রোসফ্ট ভুল। আইডি আইডেন্টিটি ডকুমেন্টের জন্য একটি ইনিশিয়ালিজম, এটি পরিচয়ের পক্ষে ছোট নয়। (পেডেন্টালি, সংক্ষিপ্ত শব্দের উচ্চারণ উচ্চারণযোগ্য।)
টম হাটিন - 10:43

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

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

15

কিছু কোডিং কনভেনশনগুলির নথিতে আমি খুব ভাল ব্যাখ্যা পড়েছি। উটকেস সর্বদা সংক্ষিপ্ত শব্দ এবং সংক্ষিপ্তসার জন্য ব্যবহার করা উচিত, কারণ শব্দের সীমানা (তুলনা XmlIdWriterকরা XMLIDWriter) আলাদা করা সহজ easier


12
শব্দের সীমানা পার্থক্য করার জন্য এটি আরও উন্নত ধারণা: আসল শব্দ সীমানা! xml_id_writer
কাজ

4
@ কাজ ভাল, দুহ! যাইহোক, ক্যামেলকেস কিছু ভাষায় traditionতিহ্যগতভাবে ব্যবহৃত হয় এবং এটি এ জাতীয় পরিস্থিতিতে আন্ডারস্কোর ব্যবহারের পরিবর্তে স্থানের বাইরে দেখায়। ধারাবাহিকতা রাজা, যেমনটি আগেই উল্লেখ করা হয়েছে।
গিলডেন

1
ক্যামেলকেস ব্যবহার করা কারণ কিছু ভাষার মূল গ্রন্থাগারগুলি এটি ধারাবাহিকতা নয়, বরং সামঞ্জস্যপূর্ণ।
কাজ

3
@ কাজ: আপনার কোডে কোড কনভেনশন না হয়ে লড়াই করার জন্য আপনার বড় লড়াই রয়েছে।
রবার্ট হার্ভে

2

যেমন আমরা জাভাস্ক্রিপ্টের ডিফল্ট ফাংশন getElementById () এ দেখতে পাচ্ছি; আইডিতে উটের মামলায় লেখা আছে ...

আন্ডারস্কোর ব্যবহার করে 'আইডি' ব্যবহার করুন। উদাহরণ: ব্যবহারকারী_আইডি

বিভিন্ন শব্দের পার্থক্য করতে কোনও বুদ্ধি ছাড়াই ভেরির নামকরণ করা হলে 'আইডি' ব্যবহার করুন। উদাহরণ: ইউজারআইডি

যদি এটির একটি একক শব্দের পরিবর্তনশীল এটি সম্পূর্ণ ছোট হাতের অক্ষরে হওয়া উচিত, যদি একাধিক শব্দ বর্ণ থাকে তবে নিম্ন উটের ক্ষেত্রে ব্যবহার করুন। উদাহরণ: thisIsExample

তবে আমি অত্যন্ত ক্যাপস-এ সমস্ত 'আইডি' সুপারিশ করব না কারণ আমরা সাধারণত কনট্যান্টগুলি সংজ্ঞায়িত করার জন্য সমস্ত ক্যাপ ব্যবহার করি।


আপনার তৃতীয় অনুচ্ছেদে, আপনার উদাহরণটি আপনার পাঠ্যের সাথে মেলে না?
রুখ

@রুখ থানেক্স .. সংশোধিত ..
সুকৃত গুপ্ত

0

প্রথমত, সংক্ষিপ্ত বিবরণ বন্ধ করুন।

দ্বিতীয়ত, যদি সংক্ষিপ্ত বিবরণটি সুপরিচিত হয় তবে আমি উটের ক্ষেত্রে ব্যবহার করার পরামর্শ দিই।

এর কারণ আপনাকে এর অর্থ বিবেচনা করার দরকার নেই। শুধু একটি সাধারণ শব্দ হিসাবে আচরণ

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