সংক্ষিপ্তসার সহ জাভা নামকরণ কনভেনশন [বন্ধ]


218

নিম্নলিখিত জাভা শ্রেণীর সঠিক নামটি কী: DVDPlayerবা DvdPlayer?


93
আমি সংক্ষিপ্ত শব্দটি ঘৃণা করি। DigitalVersatileDiscPlayerএগিয়ে যাওয়ার পথ।
টম হাটিন -

7
টমকে রসিকতার জন্য +1 করুন। "সঠিক "টিকে" স্ট্যান্ডার্ড "বা" সবচেয়ে সাধারণ "হিসাবে পুনরায় ব্যাখ্যা করা হলে আমি এই প্রশ্নটিকে সহায়ক বলে মনে করি। গৃহীত উত্তরটি দুর্দান্ত!
জন কমস

6
আমার কাছে এ জাতীয় সংক্ষিপ্ত শব্দগুলি একটি শব্দ হিসাবে এবং এটি হিসাবে আমি কনভেনশনটি অনুসরণ করি এবং ব্যবহার করি তা বিবেচনা করে বোধ করি DvdPlayer
ড্যানিয়েল

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

আপনি অবশ্যই "ডিস্কাস" বোঝাতে চেয়েছিলেন, তাই না? :)
ভিলি ওইকারিনেন

উত্তর:


237

যেহেতু উত্তরটি দেখে মনে হচ্ছে এটি জাভাতে এর জন্য কোনও একক মান নেই, তাই আমি নোট করতে চাই যে নেট ফ্রেমওয়ার্ক ডিজাইন নির্দেশিকাগুলি এটি নির্দিষ্ট করে।

বিষয়বহির্ভূত হওয়ার জন্য আমাকে নিন্দা করার আগে, দয়া করে মনে রাখবেন যে জাভা এবং .NET ফ্রেমওয়ার্কের জন্য ক্লাসের নামকরণের দিকনির্দেশগুলি বেশ অনুরূপ, যা .NET দিকনির্দেশনাগুলি অনুপ্রেরণামূলক রেফারেন্স হিসাবে কার্যকর করে তোলে।

সাধারাইওন রুল

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

শব্দ সংক্ষেপ

.NET ফ্রেমওয়ার্ক গাইডলাইনগুলি সংক্ষিপ্ত বিবরণগুলি (সংক্ষিপ্ত নামগুলির বিপরীতে) ব্যবহার না করার পরামর্শ দেয়, কেবলমাত্র দুটি আইডি এবং 'ঠিক আছে' শনাক্তকারীগুলিতে ব্যবহার করা যেতে পারে। সংক্ষিপ্তসারটি ব্যবহার করার সময়, Idএকটি উটকেস সনাক্তকারীটির প্রথম শব্দটি (একটি পাস্কেলকেস সনাক্তকারীর বিপরীতে) ব্যতীত মিশ্র কেস সর্বদা ব্যবহৃত হয়।

জাভাতে এই সম্মেলনটি কেবল কিছু সময় অনুসরণ করা হয়। দেখে নিন কিভাবে বানানের মিশিয়ে এ getIDএবং getIdJCL রয়েছে। (সেই পৃষ্ঠাটির নিচে অংশে স্ক্রোল করুন)। ইন জাভা 8 সংস্করণ যদিও, getIdআরো এবং আরো, যা ইঙ্গিত PascalCase সম্মেলন আজকাল পছন্দ করা হয় ব্যবহার করা হয়। সম্ভব হলে সম্পূর্ণ সংক্ষিপ্ত বিবরণ এড়ানো ভাল।

সংক্ষিপ্ত সংক্ষিপ্ত শব্দ

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

এটি অবশ্যই জাভাতে প্রচলিত সম্মেলন বলে মনে হচ্ছে।

দীর্ঘ সংক্ষিপ্ত শব্দ

.NET ফ্রেমওয়ার্ক নির্দেশিকাগুলি সুপারিশ করে যে একটি উটকেস সনাক্তকারীটির প্রথম শব্দ ব্যতীত প্যাসকেলকেস এবং ক্যামেল কেস শনাক্তকারীদের জন্য সংক্ষিপ্ত আকারে তিনটি বর্ণ বা দীর্ঘতর ব্যবহার করুন mixed সুতরাং একটি শ্রেণীর নামের জন্য আপনার থাকতে পারে XmlDocument, যখন স্থানীয় ভেরিয়েবলের নাম দেওয়া যেতে পারে httpRequest

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

উপসংহার

জাভার জন্য:

4+ বর্ণের সংক্ষিপ্তসার জন্য, মিশ্র কেস ব্যবহার করুন। স্ট্যান্ডার্ড লাইব্রেরি এটি করে এবং এটি কেবল ভাল তা বোঝায়।

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

২ টি বর্ণের সংক্ষিপ্তসার জন্য, সমস্ত বড় হাতের অক্ষর ব্যবহার করুন।

২ টি অক্ষরের সংক্ষিপ্তসার জন্য, জাভাটির আসলেই কোনও মান নেই, তবে আমি মিশ্রিত কেস ব্যবহার করার পরামর্শ দিই, যদি না অন্য নামগুলির সাথে ধারাবাহিকতা না থাকলে সমস্ত বড় হাতের অক্ষরটি আরও ভাল দেখায়।


11
ভাল রাখা, চমৎকার প্রচেষ্টা!
এলিরান মালকা

1
আমি এটি পছন্দ করি, 3- এবং 2-বর্ণের সংক্ষিপ্ত শব্দের জন্য CAPS আনতে এটি সামঞ্জস্যপূর্ণ নয় except (হয়তো আমি একটি প্রকৃতিবাদী অনেক কাছে, কিন্তু বাস্তব কারণে গৃহীত উত্তর দেখার প্লাস, সেখানে বিশৃঙ্খলা ফ্যাক্টর আছে।।)
জন Coombs

1
@ জে.কুমবস: ঠিক আছে, 2 টি বর্ণের অসঙ্গতি এমন একটি বিষয় IpAddressযা অনেক লোককে ভয়ঙ্কর দেখায়। ব্যক্তিগতভাবে যখন আমার জাভা কোড লিখতে হবে তখন আমি তিনটি বর্ণের সংক্ষিপ্তসার জন্য মিশ্র কেস নিয়ে চলেছি, কেবল দুটি অক্ষরকে একটি বিশেষ কেস হিসাবে রেখে।
কেভিন ক্যাথকার্ট

5
যদি আপনার শ্রেণীর নামের একাধিক সংলগ্ন দ্বি-বর্ণের সংক্ষিপ্ত শব্দ থাকে? আপনি যা-ই করুন না কেন, এটি 'ভুল' দেখায় - ইউএসজিএফএফারসেট, ইউএসজিএফচারসেট, ইউএস_জিএফসিআরসেট ...
কেভিন

3
সত্যিই ভাল উত্তর। তবে ব্যক্তিগতভাবে আমি .NET নির্দেশিকা'র সংক্ষিপ্ত আকারের দৈর্ঘ্যের উপর নির্ভর করে আলাদাভাবে নামকরণের ধারণা পছন্দ করি না এবং এটি সংক্ষিপ্ত রূপ কিনা। কে সংক্ষিপ্ত আকারের দৈর্ঘ্যের বিষয়ে যত্নশীল এবং পরীক্ষা করে? বা এটি যদি সংক্ষেপণ হয়? নামকরণের জন্য আমি কম্বল বিধি পছন্দ করি। আপনি যখনই যে কোনও নিয়ম অনুসরণ করতে বেছে নিয়েছেন তবুও তৃতীয় পক্ষের গ্রন্থাগারগুলি বিভিন্ন কনভেনশন সহ ব্যবহার করার সময় সমস্যাটি আসে।
আমানী কিলুমঙ্গা

98

কোনও "সঠিক" উত্তর নেই। কেবলমাত্র অনুশীলন এবং কনভেনশনগুলির একটি সেট যা আপনার অন্যান্য সরঞ্জামগুলির সাথে আরও ভাল খেল।

অতএব আমি পছন্দ করি DvdPlayer। অন্ধকার হিসেবে আপনি কি করতে পারেন এটা আরো সহায়ক Ctrl+ + Shift+ + Tএবং প্রতিটি শব্দের প্রথম অক্ষর দ্বারা শ্রেণীর বাছাই।

বিকল্প পাঠ


19
ওও এটি একটি কার্যকর গ্রহণের টিপ। ধন্যবাদ!
পিটার পেরে

1
(+1) একটি ভাল টিপ। যা আমার জন্য প্রশ্নের উত্তর দেয় :-)
আসফ

2
ক্লাসটি সন্ধান করতে কেবল "এসআইও" যথেষ্ট sufficient
ফিনিউ

7
এটি Eclipse- এ অন্য কোথাও কাজ করে - উদাহরণের জন্য স্বয়ংক্রিয়ভাবে সম্পূর্ণ। 'MyDvdCoverImage' নামে একটি পদ্ধতি / পরিবর্তনশীল আছে? - কেবল এমডিসিআই সিটিআরএল + স্পেস টাইপ করুন
টেবিট

3
ইতিমধ্যে কিছু শর্টকাট রয়েছে যেমন সিউসআউট সিটিআরএল + স্পেস আপনাকে সিস্টেম.আউট.প্রিন্টলন দেয়। একই জন্য (চেষ্টা করুন) এবং (এর জন্য)
মেডোপাল

50

আমি দু'জনকে বুনো ব্যবহার করতে দেখেছি এবং সূর্যের DVDPlayerশৈলীতে যেতে দেখে মনে হচ্ছে । DvdPlayerযদিও আমি পছন্দ করি , কারণ এইভাবে এটি স্পষ্ট যে শর্তের সীমাটি যেখানে রয়েছে সেখানে একাধিক একাধিক টানা এক্রোনাম থাকলেও HTTPURLConnection


3
এইভাবে টাইপ করা এটি আরও দ্রুত।
এটস গোলাল

6
আমি মনে করি "ডিভিডিপ্লেয়ার" শব্দটির সীমাটি আরও স্পষ্ট করে তুলেছে। "ডিভিডি" কোনও শব্দ নয়, যেখানে "ডিভিডি" হ'ল "ডিজিটাল ভার্সেটাইল ডিস্ক" শব্দের সংক্ষিপ্ত রূপ। সুতরাং "ডিভিডি প্লেয়ার" এর আসল শব্দের সীমানা "ডি", "ভি", "ডি" এবং "পি" এ রয়েছে।
গ্রেগ ব্রাউন

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

4
@ গ্রেগব্রাউন: বাস্তবে এটি কমপক্ষে একিপিসে আরও বেশি ব্যবহারিক, যেখানে উটের ক্ষেত্রে স্বীকৃতি হ'ল সংক্ষিপ্ত শব্দগুলির সাথে ব্যথা: যেমন ডিভিডিপ্লেয়ারের সাহায্যে আপনি ডিভিডিপ্লেয়ার নির্বাচন করতে পছন্দ পেতে "ডিপি" লিখে Ctrl + 1 টিপতে পারেন তবে যদি আপনার ডিভিডিপ্লেয়ার ছিল আপনাকে "ডিভিডিপি" টাইপ করতে হবে। এটি আরও দীর্ঘতর হলে আরও বিরক্তিকর। আমার কোডে আমি ইউনেস্কো সংযোগকারী রাখতে চাই না। যাইহোক এটি পছন্দের বিষয়।
ইগোর রদ্রিগেজ

22
আর একটি ভাল উদাহরণ হ'ল HTTPSID - এর অর্থ কি HTTP এসআইডি বা এইচটিটিপিএস আইডি ... তাই এর অর্থ আরও ভালভাবে ব্যাখ্যা করার জন্য এটি যথাক্রমে এইচটিটিপিএসিড বা এইচটিটিপিএসআইডি লেখা উচিত।
ওজ এড্রি

37

আমি নিম্নলিখিত ফ্যাশনে শ্রেণীর পৃথক উদাহরণগুলি সংজ্ঞায়িত করতে চাই:

Catalogue catalogue;
Person person;

অতএব, যদি আমি ব্যবহার করি তবে আমি DVDPlayerকী এটির উদাহরণ বলব? dVDPlayer? অতএব আমি DvdPlayerশ্রেণীর নামটি বেছে নেব , যাতে আপনি পছন্দ মতো উদাহরণটির নাম দিতে পারেন dvdPlayer


16
এর সাথে কী হয়েছে DVDPlayer dvdPlayer;?
Azz

9
@ ডেরফ্লাটুলেটার এটিতে কী দোষ নেই? আপনি কীভাবে এসেছেন তা dvdPlayerবিবেচ্য নয়, আপনি ফিরে গেলে আপনি পাবেন DvdPlayer
মার্টিনাস

5
@ ডেরফ্লেটুলেটর: আপার ক্যামেলকেস থেকে লোয়ার ক্যামেলকেসে রূপান্তর করার সময় এটি অটোমেশনের একটি প্রশ্ন: হাইপারনেট ম্যাপিংকে একটি সাপ_কেসে স্বয়ংক্রিয় করার সময় আমার সমস্যা হয়েছিল: DvdPlayer -> dvd_playerকিন্তু DVDPlayer -> d_v_d_player। ডিভিডি_প্লেয়ারে ডিভিডিপ্লেয়ারটি স্বয়ংক্রিয় করার কোনও উপায় নেই।
পিডেমি

3
@ ডেরফ্লেটুলেটর: ঠিক আছে, উত্তরের জন্য ধন্যবাদ, এটি এই ক্ষেত্রে কাজ করেছে worked তবে আমি এখনও "ডিভিডিপ্লেয়ার" স্বরলিপি নিয়ে নিশ্চিত: ডিভিডিআরপিজিপ্লেয়ারের কী ?, এটি ডিভিডিআরপিজিপ্লেয়ারে রূপান্তর করা উচিত, ডিভিডিআরপিগপ্লেয়ার নয়।
পিডেমি

2
আপনার গেটার এবং সেটটারগুলিও বিবেচনা করুন: উদাহরণস্বরূপ, জেএসপি ইএল (যেমন, ) এর সাথে ব্যবহার করার getDvdPlayer()চেয়ে আরও ভাল কাজ করে । এবং যদি আপনি সংক্ষেপে সংক্ষিপ্তসারগুলির সাথে আপনার গেটারদের নাম দিচ্ছেন, তবে আপনার শ্রেণীর নামগুলি ধারাবাহিকতা এবং অনুমানযোগ্যতার জন্য একই রাখা ভাল। getDVDPlayer()foo.dvdPlayer
দাইস্কোগ

33

জাভাএসই ক্লাস, অ্যাপাচি কমন্স এবং স্প্রিংয়ের কয়েকটি উদাহরণ:

  • HttpURLConnection
  • HTTPAddress
  • UrlPathHelper
  • AopProxy
  • ISBNValidator

সুতরাং - এটা সত্যিই কোন ব্যাপার না।


3
একমত। আপনার কোড বেসে কেবল সামঞ্জস্য থাকুন।
জেআরসি

2
এটি বলার অপেক্ষা রাখে না, যদিও এটি কোনও বড় বিষয় নয়। কিছু ব্যবহার সাধারণভাবে পছন্দসই মানকে খুব সহায়ক বলে মনে করে, এমনকি অন্য প্রত্যেকে সেগুলি অনুসরণের ক্ষেত্রে সামঞ্জস্যপূর্ণ না হলেও।
জন কোম্বস

আমার SRSচেয়ে বেশি পছন্দ করা উচিত SoftwareRequirementSpecification?
শান্তারাম টুপে


10

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

https://google.github.io/styleguide/javaguide.html#s5.3-camel-case


DvdPlayerশৈলীর জন্য আরও সাধারণ গুগল কনভেনশন লিংক : google-styleguide.googlecode.com/svn/trunk/…
স্টান কুর্দিজিল

1
উত্তর লিংকে সরানো হয়েছে gwtproject.org/makinggwtbetter.html#codestyle লিংক @StanKurdziel উল্লেখ সরানো হয়েছে google.github.io/styleguide/javaguide.html#s5.3-camel-case
Jeroen Wiert Pluimers

8

থেকে সূর্য জাভা ডক্স :

প্রতিটি অভ্যন্তরীণ শব্দের প্রথম অক্ষরের সাথে মিশ্র ক্ষেত্রে শ্রেণীর নাম বিশেষ্য হওয়া উচিত case আপনার শ্রেণীর নামগুলি সহজ এবং বর্ণনামূলক রাখার চেষ্টা করুন। সংক্ষিপ্ত শব্দ এবং সংক্ষিপ্ত বিবরণগুলি সম্পূর্ণ শব্দ ব্যবহার করুন (সংক্ষিপ্ত বিবরণ দীর্ঘ রূপের চেয়ে বেশি ব্যবহৃত হয় যেমন URL বা এইচটিএমএল)।


14
এটি আপার বা উটের ক্ষেত্রে হওয়া উচিত কিনা সে সম্পর্কে সত্যই কিছু বলতে পারে না।
ডিডি।

@DD। আমি আমার কাছে মনে করি, ডিভিডি, এমআরআই, এমএজিএ ইত্যাদির মতো কিছু এলোমেলো ব্যবসায়-নির্দিষ্ট শব্দের চেয়ে প্রাসঙ্গিক সংক্ষিপ্ত নাম (এইচটিটিপি, জিইটি, ইত্যাদি) জন্য অল-ক্যাপগুলি ব্যবহার করার জন্য "অনেক বেশি ব্যবহৃত" পয়েন্টগুলি
গোয়ালকাশ

3

DVDPlayerমান, কিন্তু DvdPlayerঅস্বাভাবিক নয়।

আপনি আরও প্রায়ই দেখতে না getId। এটি সম্ভবত আইডি ভাবনার কারণে "পরিচয়" কে ছোট করা হয়। এটি আসলে পরিচয় নথির আদ্যক্ষর।

HttpURLConnectionমিশ্র সম্মেলনের উদাহরণ হিসাবে প্রায়শই দেওয়া হয়। তবে, একটি ইউআরএলে প্রোটোকল নাম হিসাবে ব্যবহৃত "HTTP" ছোট হাতের অক্ষরে হওয়া উচিত (যদিও আপার ক্ষেত্রে প্রায়শই গৃহীত হয়)।


2
আমি মনে করি এটি সত্যিই একটি মানদণ্ড নয় তবে এটি সম্ভবত সবচেয়ে সাধারণ।
বি.রোথ

এটি আইআইআরসি-র সান জাভা কোডিং স্ট্যান্ডার্ডে রয়েছে। যদিও জেএলএসে নেই।
টম হাটিন -


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

9
ডিভিডিপ্লেয়ার অবশ্যই স্ট্যান্ডার্ড নয়; এমনকি জেডিকে এ সম্পর্কে তাদের পদ্ধতির সাথে মারাত্মকভাবে বেমানান।
কেভিন বোউরিলিয়ন

0

এখানে কোনও "সঠিক" নেই, কেবল পছন্দগুলি এখানে রয়েছে।

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

ব্যক্তিগতভাবে, আমি ডিভিডিপ্লেয়ার পছন্দ করি।


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