জাভাতে ব্যক্তিগত / শখের প্রকল্পগুলির জন্য আপনি কোন প্যাকেজ নামকরণের কনভেনশন ব্যবহার করেন?


143

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

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

যেহেতু আমি এই সম্পর্কে বিভিন্ন ব্যক্তির চিন্তাভাবনাগুলি কী তা দেখার জন্য কেবল কৌতূহলী, তাই আমি এটি একটি সম্প্রদায় উইকি করে তুলেছি।

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

আমি আমার ব্যক্তিগত প্রকল্পগুলির উত্সটি একটি একক মূল ফোল্ডারে রাখার জন্য একটি সাধারণ শ্রেণিবদ্ধ নামকরণের কনভেনশনের কথা ভাবছিলাম:

  • myprojectsরুট ফোল্ডার হিসাবে ব্যবহার করুন
  • প্রকল্পের নাম যুক্ত করুন
  • অতিরিক্ত অতিরিক্ত প্যাকেজ নাম যুক্ত করুন

সুতরাং, আমার উইকেট প্রকল্পটি প্যাকেজে থাকবে myprojects.learningwicketএবং ইউনিট পরীক্ষাগুলি প্যাকেজে থাকবে myprojects.learningwicket.tests(উদাহরণস্বরূপ)।


1
সাধারণ, নিজেকে একটি ব্যক্তিগত ডোমেন (firstname-lastname.net) পান এবং এটি প্যাকেজের নাম হিসাবে ব্যবহার করুন। প্যাকেজটির উদ্দেশ্য বিশ্বব্যাপী অনন্য হওয়া, তাই মাইপ্রজেক্টগুলি সত্যই এটি কাটবে না।
ভ্লাদিমির ডিউজেভ

5
.Onion ডোমেন ব্যবহার করাও একটি বিকল্প (পছন্দ onion.duskgytldkxiuqc6.packagename)। যতক্ষণ না ব্যক্তিগত কীটি গোপন থাকবে, আপনি ডোমেন নামের নিয়ন্ত্রণে থাকবেন of সুতরাং এটি নিবন্ধকরণ (উত্পন্ন) বিনামূল্যে এবং এটি স্থায়ী (প্রচলিত ডোমেনগুলির বিপরীতে) unlike এটি জাভা সম্মেলনের চিঠির সাথে সঙ্গতিপূর্ণ এবং এটি আপনাকে অনন্যভাবে সনাক্ত করে।
সস্তানিন

14
আপনি সর্বদা একটি গিটহাব অ্যাকাউন্ট তৈরি করতে এবং io.github.username ব্যবহার করতে পারেন *
বারদী হার্বো

2
@ বার্ডি হার্বো ধন্যবাদ, আমি আপনার পরামর্শটি ব্যবহার করেছি।
নিক ভলিংকিন

3
@ গ্যাব্রিয়েলবিবি, গিটহাব পৃষ্ঠাগুলি আপনাকে আপনার ব্যবহারকারী নাম.github.io এ এইচটিএমএল এবং জ্যাকিল সাইটগুলি হোস্ট করার অনুমতি দেয় এবং অতএব গিথুব.ইওর সাবডোমেনগুলি গিথহব ব্যবহারকারীদের সাথে গিথুব ডটকমের সাবডোমেনগুলির সাথে সামঞ্জস্য করার জন্য আরও "গ্যারান্টিযুক্ত" (যা অভ্যন্তরীণ ক্ষেত্রে ব্যবহৃত হতে পারে) গিটহাব প্রকল্পগুলি যে কোনও সময়)।
বার্দি হার্বো

উত্তর:


49

যদি আপনি কেবল এমন ব্যক্তিগত প্রকল্পগুলি করছেন যেখানে অন্য কেউ কোডটি ব্যবহার করবেন না, তবে আপনি নিজের পছন্দমতো একটি প্যাকেজের নাম তৈরি করতে পারেন। দিয়ে শুরু হয় যে কিছু করো না com.বা net.বা অন্যান্য টপ লেভেল ডোমেইন যদিও, কারণ যে সূচিত করা হবে যে আপনার ডোমেন নাম মালিক (অর্থাৎ। ব্যবহার com.johnআপনার প্যাকেজ নামের মাত্র কারণে আপনার নাম হবে ইয়াহইয়া হতে হবে একটি ভাল ধারণা নয়) ।

আপনি যদি অন্য কাউকে কোডটি দিতে চলেছেন তবে আপনার একটি বিশ্বব্যাপী অনন্য প্যাকেজ নাম ব্যবহার করা উচিত, যা জাভা কনভেনশন অনুসারে আপনার একটি ডোমেন নাম নিবন্ধন করা এবং ব্যবহার করা উচিত।


1
সুতরাং আমি যদি প্যাকেজটির নামটিও ঠিক করতে চাই তবে com.xyzএই প্যাকেজের নামটি কোথাও নিবন্ধিত করা উচিত ?? পিএস xyzআমার ক্লায়েন্ট।
প্রসাদ

9
আমি ভাবছি যদি আমি ও গিথুব ডোমেনের জন্য আমার গিথুব আইডি ব্যবহার করতে পারি? যেমন com.github.mygithubid.myproject?
কিরিল জি।

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

26

আমি কেবল আমার আদ্যক্ষর: fg.nameofproject.etc ব্যবহার করি

এটি টাইপিং হ্রাস করে। এটি sf.net বা কমের সাথে যে কোনও সময় উপসর্গযুক্ত হতে পারে। বা org। বা com.google ..

প্রকল্পটি যেমন ব্যক্তিগত চিকিত্সা হিসাবে এটি একেবারে আপনার চাপযুক্ত ব্যক্তিগতকৃত উপহার শার্টের মতো - এটি ভাল লাগবে।


42
bond.james.007
১v ই

19
@ যে নির্দেশিকা হবে তা অনুসারে ক্লিক করুন bond.james._007- এর সাথে একই রিং নেই ...: - {
corsiKa

20
pmurray_at_bigpond_dot_com.project.package

2
+1 টি। চালাক। এটি আপনাকে একটি অনন্য প্যাকেজ নাম দেয় এবং একবারে লেখককে সনাক্ত করে।
মাইক স্প্রস

19

<sarcasm>বাঃ। যে কোনও স্ব-সম্মানজনক প্রোগ্রামারের নিজস্ব ডোমেন নাম থাকবে। এটি পরিষ্কারভাবে একটি কৌশল প্রশ্ন। প্রত্যেকের নিজস্ব নিজস্ব ডোমেন নাম আছে! </sarcasm>:-)

ঠিক আছে, সমস্ত গুরুত্ব সহকারে, একটি কাস্টম ডোমেন নাম কেনা সম্ভবত সবচেয়ে সহজ বিকল্প। প্রায় এক বছরে $ 10 এর জন্য, আপনি ডোমেন হোস্ট করতে সম্মানিত সরবরাহকারী এবং ইমেল ফরোয়ার্ড খুঁজে পেতে পারেন।


18
আশ্চর্যজনকভাবে যথেষ্ট, এটি আপনার আত্মবিশ্বাসকেও বাড়িয়ে তুলবে।
জামেশ

26
উত্তম উত্তর, তবে কোনও প্রারম্ভিক প্রোগ্রামার সম্ভবত কোনও ঘনিষ্ঠ বোতাম দিয়ে জিইউআই কীভাবে তৈরি করতে হবে তার কয়েকটি টিউটোরিয়াল ওয়েবসাইট বা ভিডিও অনুসরণ করতে কোনও ওয়েবসাইট কিনতে চায় না।
জোখেম কুয়েজ্পার্স

17

আমি Google কোড আমার শখ প্রকল্পের সবচেয়ে সঞ্চয় করে নেবে তাই আমি শুধু প্যাকেজের নাম হিসেবে প্রকল্পের সাইট ব্যবহার: com.googlecode.donkirkby.someproject


8
আমাদের কর্মের বোকামি না দেখার জন্য আমরা কতটা অন্ধ হয়ে থাকতে পারি ?!
জোয়ে সাবেই 5'15

1
আপনি গুগল কোড মিস করেন, জোয়ি? আমি বেশিরভাগ ক্ষেত্রে গত বেশ কয়েক বছর ধরে গিটহাব ব্যবহার করেছি , সুতরাং আমার পুরানো কিছু প্রকল্প গুগল কোড থেকে সরিয়ে নেওয়ার আগে আমাকে কেবল কিছুটা সরিয়ে ফেলতে হয়েছিল।
ডন কার্কবি

তাহলে আপনি কি প্যাকেজগুলির নাম পরিবর্তন করেছেন, গুগলকোডের নাম রেখেছেন, বা ...?
সার্ভ-ইন

1
আমি এটি সরিয়ে নেওয়ার পর থেকে আমি কোনও পুরানো কোড ব্যবহার করি নি, @ সার্ভ-ইনক। হয় বিকল্প কাজ করবে।
ডন কার্কবি

3

আমার নাম অঞ্জন

সাধারণত, আমি com.anjan ব্যবহার করি

আমার নিজস্ব একটি ফ্যান্টাসি সংস্থা আছে - কখনও কখনও আমি এটি ব্যবহার করি

সোর্সফোজের সাথে hiতিহ্যটি (হাইবারনেট এবং অন্যান্য প্যাকেজগুলি দেখানো হয়েছে) নেট.এসএফ। *

সুতরাং, আপনার মেজাজের উপর নির্ভর করে আপনি এটির সাথে যেতে পারেন।


13
আপনি যদি অঞ্জন ডটকমের মালিক না হন তবে আমি মনে করি আপনি এটি করা ভয়ানক ভুল wrong
ফ্রেড্রিক

7
ভাগ্যক্রমে ফ্রেড্রিক, দেখে মনে হচ্ছে অঞ্জন.কম খুব শীঘ্রই কোনও লাইব্রেরি প্রকাশ করছে না।
কর্সিকা

1
@ করসিকা: আপনি ঠিক বলেছেন, যতক্ষণ না আমি কিছু প্রকাশ করি না, আমি ঠিক আছি। :-)
অঞ্জনব

3
@ অঞ্জনব ওয়েল, আমি তাদের ওয়েবসাইটে গিয়েছিলাম। তারা পোষা খাবার দেয়। আমি কোনও বিশেষজ্ঞ নই, তবে বেশিরভাগ পোষা খাদ্য সংস্থাগুলি অনেকগুলি সফ্টওয়্যার লাইব্রেরি প্রকাশ করে না =)
কর্সিকা

3

আমি মনে করি এটি কার্যকর হয়ে গেছে। এখানে এড়ানোর লোভ হ'ল কোনও প্যাকেজের নাম নিয়ে মোটেও বিরক্ত না করা। কয়েকটি কী-স্ট্রোক সংরক্ষণ করা সহজ কারণ "আমি কেবল কয়েকটি পরীক্ষার কোড লিখছি।" তবে তারপরে কোডটি ভাল এবং দরকারী এবং বৃহত্তর হয়ে যায় এবং তারপরে আপনি বুঝতে পারেন যে দীর্ঘকালীন গ্রন্থাগার বা অ্যাপ্লিকেশন হতে পারে তার জন্য আপনার দৃ a় সূচনা হয়েছে। এটি কোনও গ্রন্থাগার বা কোনও অ্যাপ্লিকেশন নাও হতে পারে যা আপনার হোম নেটওয়ার্কটি কখনও ছেড়ে দেয় তবে মুল বক্তব্যটি, আপনি আগে ভাবেন নি। এটি কম্পিউটার বিজ্ঞানের ডেনমার্ক ভূত - যদি সামান্য কিছুটা থাকে তবে সর্বদা সামনে চিন্তা করুন।

আমি আমার শখের কোডের জন্য যে নামকরণ কনভেনশনটি ব্যবহার করি তা আপনার মতো like আমার কাছে "ফুটুরা" নামে একটি শীর্ষ-স্তরের ডিরেক্টরি রয়েছে (দীর্ঘ, বিরক্তিকর কারণগুলির মধ্যে কেন এই নামটি এসেছে) যা আমার সমস্ত কোড বন্ধ করে দেয়। আমি চেষ্টা করি এবং প্যাকেজ লাইব্রেরিতে আমার কোডটি সংগঠিত করি, যদিও এটি কোনও শ্রেণি বা প্যাকেজ হতে পারে আমি অন্য প্রকল্পের জন্য কখনও ব্যবহার করি না। আমি futura.app। * ফোল্ডারে সমস্ত অ্যাপ্লিকেশন (যা ক্লাসে একটি শূন্য মূল (স্ট্রিং [] আরগস রয়েছে এমন কিছু আছে) রাখি। আমি নিজের কোডের জন্য স্ট্যান্ডার্ড জাভা গ্রন্থাগার প্যাকেজের নামগুলিও নকল করার চেষ্টা করি, যদিও দু'টি ক্ষেত্রে আমি নিজের স্বাদের কারণে কনভেনশন ভেঙে ফেলেছি (অর্থাত্ ইন্টারনেটের জন্য futura.inet, কেবল সকেট, কোড এবং ফিউচার কোড সংগ্রহ নয়) - ব্যবহার্য জিনিস।) ডেভিড ম্যামেটকে প্যারাফ্রেজ করতে: সর্বদা জেনারাইজাইজ করা হবে। সর্বদা জেনারাইজেশন করা!

আপনি যে পোস্টটি প্রশ্ন পোস্ট করতেন সে যত্ন থেকেই আমার সন্দেহ হয় যে আপনি আমার শেষ পয়েন্টটির সাথেও একমত হয়েছিলেন: আপনাকে শখের শখের হ্যাকিংকে একটি এন্টারপ্রাইজ-স্তরীয় প্রকল্প হিসাবে দেখাতে হবে না, তবে যদি আপনি সেই শৃঙ্খলাটির কিছুটা ঘরের খেলায় নিয়ে আসেন, শখ সব আরও পুরষ্কার।


2

আমি আমার ওপেনআইডি ইউআরএল ব্যবহার করি এবং তারপরে আমি আমার প্রকল্পের নাম সংযুক্ত করি। উদাহরণস্বরূপ, com.myopenid.cd1.twitterআমি যে কোনও টুইটার ক্লায়েন্টের বিকাশ করছি তার মূল প্যাকেজ।


আমি এটি পছন্দ করেছিলাম, কিন্তু তখন আমি বুঝতে পারি এটির আর অস্তিত্ব নেই। :( janrain.com/myopenid-service-ends "1 লা ফেব্রুয়ারি পর্যন্ত 2014 MyOpenID সেবা বন্ধ করা হয়েছে।"
successhawk


1

আমি কেবল আমার নামটি ব্যবহার করেছি: surname.initials.xxx, ব্রেভিটি এবং সংঘর্ষ এড়ানোয়ের মধ্যে একটি দুর্দান্ত সমন্বয় হিসাবে। আমি বুঝতে পেরেছি যে আমি কখনই প্রকাশ্যে কোডটি প্রকাশের জন্য বেছে নেওয়া উচিত যুক্তিসঙ্গত সংঘর্ষ মুক্ত নেমস্পেস দেবে। আমার একটি ছোট প্রোগ্রাম রয়েছে যা আমি লিখেছি যা পুরো ডিরেক্টরি গাছগুলি পুনরায় বিক্রি করতে পারে তাই আমি বুঝতে পেরেছিলাম যে এটি প্রকাশের জন্য আমাকে পুনরায় প্যাকেজ করা দরকার, তাই এটির জন্য আমি খুব বেশি ঘুম ছাড়িনি।

Surname.initials.xxx এর পরে, আমি অ্যাপ্লিকেশন প্যাকেজগুলির জন্য অ্যাপ্লিকেশন, গ্রন্থাগার প্যাকেজগুলির জন্য lib, এবং স্টাফের জন্য tst ব্যবহার করছি যা আমি খাঁটিভাবে পরীক্ষা করছি।


1

শেষ নাম.প্রথম নাম.প্রজেক্ট সম্পর্কে আপনি কী ভাবছেন ??? লুজ.মারলন.প্রজেক্ট?


16
এটি আপনার পক্ষে কাজ করতে পারে তবে জন স্মিথ এবং বব জোনস কোনও দিন তাদের কোড প্রকাশ করতে চাইলে দ্বন্দ্বের মধ্যে পড়তে পারে।
বিল করুন :3

0

আমি এই একই প্রশ্ন জিজ্ঞাসা সম্পর্কে চিন্তা। এখনও পর্যন্ত আমি উপসর্গটি ব্যবহার করেছি com.tehvan, যদিও আমার আসলে কোনও সংস্থা নেই।

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