কীভাবে সংস্থাগুলির নাম রাখবেন সে সম্পর্কে কনভেনশন রয়েছে?


104

অ্যান্ড্রয়েডে কীভাবে সংস্থাগুলির নাম রাখবেন এমন কোন কনভেনশন রয়েছে? উদাহরণস্বরূপ, বোতাম, টেক্সটভিউ, মেনুগুলি ইত্যাদি


ভাল প্রশ্ন. সম্পর্কিত বিষয় হিসাবে আমি কাস্টম আর বা অ্যান্ড্রয়েড.আর ব্যবহার করবেন কিনা তা
rd


মাত্রা সংস্থানগুলির জন্য, আমি এগুলি
প্রবীণ সোনাওয়ানে

উত্তর:


28

কোনও অফিসিয়াল সুপারিশ আছে কিনা তা আমি জানি না।

উইজেট এবং পাত্রে আমার লেআউটগুলিতে আইডির জন্য, আমি কনভেনশনটি ব্যবহার করি:

<layout>_<widget/container>_<name>

আমি এই লেআউটে যে কোনও ডাইমেন, স্ট্রিং, সংখ্যা এবং রঙ ব্যবহার করি তার জন্য একই কৌশলটি করি। তবে, আমি সাধারণীকরণ চেষ্টা করে দেখি। উদাহরণস্বরূপ, যদি সমস্ত বোতামের একটি সাধারণ পাঠ্য রঙ থাকে তবে আমি লেআউটটির সাথে নামেরটি উপস্থাপন করব না। সংস্থানটির নাম হবে 'বাটন_পাঠিন রঙ'। যদি সমস্ত পাঠ্যবইজুল্যান্ড একই সংস্থান ব্যবহার করে তবে এর নামকরণ করা হবে 'পাঠ্য রঙ'। স্টাইলগুলির ক্ষেত্রে এটি সাধারণত হয়।

মেনু সংস্থানগুলির জন্য আমি ব্যবহার করি:

menu_<activity>_<name>

অ্যানিমেশনগুলি কেবল আলাদা কারণ আপনি বড় হাতের অক্ষর ব্যবহার করতে পারবেন না। একই অঙ্কনযোগ্য এক্সএমএল সংস্থানগুলির জন্য যায়, আমি বিশ্বাস করি।


1
আমি এগুলি করছি, দীর্ঘ নামগুলি এড়াতে কেবলমাত্র আমি লেআউটটি এবং উইজেটের নামগুলি সংক্ষিপ্ত করে রেখেছি, উদাহরণস্বরূপ প্রমাণীকরণের লেআউটে ব্যবহারকারীর নাম সম্পাদনা বাক্সটি হ'ল: "অ্যান্টিফিকেশন_ইডিটবক্স_উসরের নাম"
হোসেইন শাহদুস্ট

46

অ্যান্ড্রয়েড এসডিকে শুরু করার জন্য ভাল জায়গা হবে।

উদাহরণস্বরূপ, আমি ক্রিয়াকলাপের মধ্যে আইডি স্কোপ করার চেষ্টা করি।

আমার যদি ListViewএটি থাকে তবে এটি @android:id/listসমস্ত ক্রিয়াকলাপে থাকত ।
তবে, আমার দুটি তালিকা থাকলে আমি আরও নির্দিষ্ট @id/list_appleএবং ব্যবহার করতে পারি@id/list_orange

তাই জেনেরিক (আইডিএস, ...) পুনরায় ব্যবহার করা হয় R.java fileযখন অনন্যদ্বারদের দ্বারা পৃথক জেনেরিকগুলির সাথে উপস্থাপিত হয় (কখনও কখনও পুনরায় ব্যবহৃত হয়) ।


আন্ডারস্কোরটি একটি জিনিস, আমি পর্যবেক্ষণ করেছি, উদাহরণস্বরূপ:

লেআউট প্রস্থ হয় layout_widthমধ্যে XML এবং layoutWidthকোড , তাই আমি যেমন বিদ্ধ করার চেষ্টাlist_apple

সুতরাং একটি লগইন বোতামটি হবে login, তবে আমাদের যদি দুটি লগইন থাকে তবে login_fooএবং login_bar


আপনার উত্তরটি থেকে লাভ করতে না পেরে আমি দুঃখিত। আমার চোখের জন্য উপোস করার জন্য এটি প্রচুর লক্ষ্যবস্তুতে আগুন দেয়। উদাহরণস্বরূপ আমি আশ্চর্য হই যে কীভাবে আপনি দুটি ক্রিয়াকলাপের দুটি পৃথক দৃষ্টিতে বসে একটি রেজিস্টার বোতামটির নাম রাখবেন।
স্টিফেন

@ স্টাফেনইবার্ট, আপনি মিশ্রণে ক্রিয়াকলাপের নাম যুক্ত করতে পারেন, কেন আপনি কোনও ভিন্ন ক্রিয়াকলাপের দর্শন অ্যাক্সেস করতে চান তা কেনা। :)
স্যামুয়েল

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

25

অ্যান্ড্রয়েডের ডকুমেন্টেশন থেকে নেওয়া । বিষয়টিতে আরও রয়েছে।


12
আমার দুটি সেন্ট: আইসি উপসর্গটি আমি পছন্দ করি না
AlikElzin-kilaka

1
"মনে রাখবেন যে আপনার কোনও প্রকারের ভাগ করা উপসর্গ ব্যবহার করার দরকার নেই so এটি করা কেবল আপনার সুবিধার্থে।" এটি এই চার্টের নীচে লাইন। সুতরাং উপসর্গ পছন্দ জিনিস।
তুষার ভেনগুরলেকার

প্লেইন স্ট্রিংয়ের নামকরণের সম্মেলনটি কী হবে? আমি আমার অ্যাপ্লিকেশনটিতে প্রায় 30000 স্ট্রিং ব্যবহার করি। মনটা বগল।
ব্যবহারকারী

17

আপনার প্রশ্নের উত্তর দিতে: হ্যাঁ, আছে।

উদাহরণস্বরূপ গুগল অনুসন্ধানের মাধ্যমে আপনি তাদের অনেকগুলি খুঁজে পেতে পারেন । এবং সেরা নামকরণের সম্মেলন বলে কোনও জিনিস নেই। এটি সর্বদা আপনার প্রয়োজন এবং আপনার প্রকল্পের বৈশিষ্ট্যের উপর নির্ভর করে (সর্বাধিক গুরুত্বপূর্ণভাবে স্কোপ)।


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

অ্যান্ড্রয়েড রিসোর্স নামকরণের ঠক শীট

তারপরে তিনি প্রতিটি উপাদান এবং প্রতিটি উত্সের ধরণের বিস্তারিত বর্ণনা করেন।


আমি বলব আপনি এই কনভেনশনটি ছোট থেকে মাঝারি প্রকল্পগুলিতে ব্যবহার করতে পারেন (ব্যক্তিগত ব্যবহার, কয়েক মাসের চুক্তি প্রয়োগ)। যদিও, আমি এটি 50+ ক্রিয়াকলাপ বা 1000+ স্ট্রিং সহ দীর্ঘকালীন প্রকল্পগুলির জন্য সুপারিশ করব না।

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

আমি ধরে নিই যে আপনি কিছু শুরু করার জন্য সন্ধান করছেন। সুতরাং আমি উল্লিখিত ব্লগ পোস্টটি সুপারিশ করব। এটি সূচনাকারীদের পক্ষে ভাল এবং আপনি নিজের নিজের নামকরণের ভাল কনভেনশন তৈরি করতে অবশ্যই এটি অনুপ্রেরণা হিসাবে ব্যবহার করতে পারেন।

এও মনে রাখবেন যে প্রকল্পটি বাড়ার সাথে সাথে অনেকগুলি প্রয়োজনীয়তা এবং প্রয়োজনীয়তা সময়মতো পরিবর্তিত হতে পারে। সুতরাং এটি সম্পূর্ণ স্বাভাবিক যে নামকরণের সম্মেলনগুলি শুরুতে উপযুক্ত ছিল 2 বছর পরে উপযুক্ত হবে না। এবং এটি পুরোপুরি ঠিক আছে। আপনার ভবিষ্যতের ভবিষ্যদ্বাণী করার চেষ্টা করা উচিত নয়। কেবল একটি সম্মেলন চয়ন করুন এবং এটি অনুসরণ করুন। এটি আপনার এবং আপনার প্রকল্পের জন্য উপযুক্ত কিনা আপনি খুঁজে পাবেন। যদি তা না হয় তবে কেন এটি উপযুক্ত নয় তা নিয়ে ভাবুন এবং অন্য কিছু ব্যবহার শুরু করুন।


15

সংস্থানগুলিতে সংস্থানগুলি ব্যবহৃত হয়:

  • পৃথক ফাইল হিসাবে বিদ্যমান সংস্থানগুলির জন্য, সেগুলি অবশ্যই নিম্ন_কেন্দ্র_ফোঁদর_বিযুক্ত করা উচিত। অ্যাপটি সরঞ্জামটি নিশ্চিত করে যে আপনার ফাইলগুলি কেবলমাত্র নিম্ন-কেস, কারণ মিশ্র কেস ব্যবহারের ফলে কেস-সংবেদনশীল ফাইল সিস্টেমগুলিতে সমস্যা হতে পারে।
  • কেবলমাত্র মান / ... (বৈশিষ্ট্য, স্ট্রিং ইত্যাদি) হিসাবে ঘোষিত সংস্থানগুলির জন্য কনভেনশনটি সাধারণত মিশ্র কেস হয়।
  • একটি নামকরণকে "শ্রেণিবদ্ধকরণ" সহ ট্যাগ করার জন্য একটি সাধারণ কনভেনশন ব্যবহার করা হয় যেখানে সাধারণ নাম স্থান রয়েছে। এটি উদাহরণস্বরূপ যেখানে আপনি লেআউট_উইথ এবং লেআউট_লাইন লেফ্টের মতো জিনিস দেখেন। একটি বিন্যাস ফাইলে ভিউ এবং প্যারেন্ট লেআউট পরিচালনা উভয়ের জন্য বৈশিষ্ট্যগুলি পৃথক মালিক হলেও একসাথে মিশ্রিত হয়। "লেআউট_ *" কনভেনশন নিশ্চিত করে যে এই নামের মধ্যে কোনও বিরোধ নেই এবং নামটি কোন সত্তাকে প্রভাবিত করে তা বোঝা সহজ।

এই "লেআউট_ব্লাহ" কনভেনশনটি আরও কয়েকটি জায়গায় ব্যবহৃত হয়েছে। উদাহরণস্বরূপ, এখানে "state_blah" বৈশিষ্ট্য রয়েছে যা দেখতে পারাতে পারে এমন আঁকতে রাজ্য।

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

পরিশেষে আমরা সংস্থানগুলির নামকরণের বিষয়ে পুরোপুরি চিন্তা করি না। যেটাকে আমরা সামঞ্জস্য রাখি তা হ'ল বৈশিষ্ট্যগুলির জন্য "মিক্সডকেস" এবং লেআউট প্যারাম বৈশিষ্ট্যগুলি সনাক্ত করতে "লেআউট_ব্লাহ" ব্যবহার করুন।

এছাড়াও এখানে জনসম্পদের মাধ্যমে ব্রাউজ করা কনভেনশনগুলির জন্য একটি ভাল অনুভূতি দেওয়া উচিত:

http://developer.android.com/reference/android/R.html

আপনি বৈশিষ্ট্যগুলি সমস্ত বেশ সামঞ্জস্যপূর্ণ দেখতে পাবেন (আপনি লেআউট_ কনভেনশনটি বুঝতে পারলে), অঙ্কনযোগ্য সমস্তগুলি আন্ডারস্কোর_বিযুক্ত, ইত্যাদি,


12

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

আমি লক্ষ করেছি যে অ্যান্ড্রয়েড এক্সএমএল রিসোর্স ফাইলের নামগুলিতে পুনরায় কাজ করে তবে আন্ডারস্কোরগুলি ঠিক আছে বলে মনে হয়। এডিটি আসলে বলেছে

ফাইল-ভিত্তিক সংস্থানগুলির নামগুলিতে কেবলমাত্র ছোট হাতের অ্যাজ, 0-9 বা _ থাকতে হবে।

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

আইডির জন্য আমি একটি 3 অক্ষরের যোগ্যতা ব্যবহার করি যার পরে এটি উটের সংকেতকে বোঝায় যেমন স্ট্যাটিক পাঠ্য লেবেলের জন্য lblFoo (বা পাঠ্যদর্শন), সম্পাদনাযোগ্য পাঠ্যবাক্সের জন্য txtFoo (Android এডিটেক্সট)। এটি প্রথমে অদ্ভুত বলে মনে হতে পারে তবে আমি এটি ভিবি 6 এর পরে ব্যবহার করছি এবং এই নিয়ন্ত্রণগুলিকে লেবেল এবং পাঠ্যবাক্স বলা হত।

আমি সাধারণত ব্যবহার করি এমন আরও কয়েকটি এখানে রয়েছে:

  • বিটিএনফু - বোতাম
  • pwdFoo - পাসওয়ার্ড
  • lstFoo - তালিকা
  • clrFoo - রঙ
  • tblFoo - টেবিল
  • colFoo - কলাম
  • সারিফু - সারি
  • imgFoo - চিত্র
  • dimFoo - মাত্রা
  • প্যাডফু - প্যাডিং
  • mrgFoo - মার্জিন

আমি জাভা ফাইলের মধ্যেও কোডটিতে একই ব্যবহার করি তাই আমাকে এটি সম্পর্কে ভাবতে হবে না, প্যাকেজ স্কোপ এটিকে বেশ আনন্দের সাথে অনুমতি দেবে:

Button btnFoo = (Button)findViewById(R.id.btnFoo);

আপনি যদি আন্ডারস্কোর অর্থাৎ বিটিএন_ফু ব্যবহার করে কিছুটা ফাঁক যোগ করতে পছন্দ করেন তবে ... আমি যদি পুরানো অভ্যাসগুলি ভেঙে ফেলতে পারি তবে আমি সম্ভবত এটি করতাম।

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

একটি চূড়ান্ত দ্রষ্টব্য হ'ল গুরুত্বপূর্ণ বিষয়গুলির বিষয়ে আপনি যে কনভেনশনটি স্থির করেন তা হ'ল নিয়ন্ত্রণের নামকরণ যথাযথ এবং ধারাবাহিকভাবে করা, যাতে আপনি অস্পষ্ট ডিফল্ট আইডির যেমন টেক্সটভিউ 5 বা বিভিন্ন কনভেনশনগুলির মিশ্রণের সাথে লড়াই না করেন don't


4

ডিজাইনার এবং বিকাশকারীদের জন্য দরকারী লিঙ্ক - এখানে

মাত্রা এবং আকার, নামকরণের সম্মেলন, শৈলী এবং থিম, নাইন-প্যাচ এবং আরও।


3

গুগলের প্রচারিত কোনও মানক কনভেনশন আছে বলে আমি মনে করি না। আমি বিভিন্ন ধরণের বিভিন্ন উপায়ে দেখেছি লোকেরা নাম রাখে এমনকি বিভিন্ন সরকারী গুগল অ্যাপ্লিকেশনগুলিতেও stuff

যে কোনও ডিরেক্টরি হায়ারার্কিতে 100 লেআউট (বা অঙ্কনযোগ্য, মেনু, ইত্যাদি) ফাইলগুলি বোঝার চেষ্টা করার সময় যা আপনাকে সবচেয়ে বেশি সহায়তা করে।


3

একটি সংক্ষিপ্ত উত্তর: আপনি যদি অ্যান্ড্রয়েড বিকাশকারীদের কাছ থেকে শিখতে চান তবে একটি ভাল উদাহরণ হ'ল সমর্থন লাইব্রেরি v7 ( https://dl-ssl.google.com/android/repository/support_r21.zip )

অন্যথায়, আমি সংস্থানসমূহের নামকরণের জন্য যা বিবেচনা করেছি তা এখানে:
১. কোড লেখার সময় সহজেই সংস্থানগুলি সন্ধান করা
২. কোড পড়ার সময় সহজেই সংস্থানগুলি বোঝা
৩. অনুবাদকদের জন্য নাম উপযোগী করা ( R.string.*কেবলমাত্র সংস্থানসমূহ)
৪. <include/>( R.id.*সংস্থানসমূহের দ্বন্দ্ব) সহ বিন্যাস পুনরায় ব্যবহার করা
5.. ডিলিং গ্রন্থাগার প্রকল্পের সাথে

যৌক্তিকরূপে, সংস্থানগুলি গুছিয়ে জাভা ক্লাসগুলি প্যাকেজগুলিতে গ্রুপিং করা (বা ফাইলগুলিতে ফোল্ডারে রাখার চেয়ে আলাদা) হওয়া উচিত নয়। তবে, যেহেতু অ্যান্ড্রয়েড সংস্থাগুলির কোনও নেমস্পেস নেই, একই (উদাহরণস্বরূপ ) com.example.myapp.photoহয়ে ওঠার জন্য সংস্থানটির নামের সাথে উপসর্গ যুক্ত করতে হবে com_example_myapp_photo

আমি অ্যাপ্লিকেশনটিকে সংক্ষিপ্ত অনন্য নামের সাথে পৃথক উপাদানগুলিতে (ক্রিয়াকলাপ, টুকরোগুলি, কথোপকথন, ইত্যাদি) বিভক্ত করার পরামর্শ দিচ্ছি যা উত্স উপসর্গ হিসাবে ব্যবহার করা যেতে পারে। এইভাবে আমরা সম্পর্কিত কার্যকারিতা সহ সংস্থানগুলি একসাথে ভাগ করছি, যা তাদের সন্ধান করা সহজ করে তোলে (পয়েন্ট 1) এবং আমরা একই সাথে উভয় <include/>এবং গ্রন্থাগারের প্রকল্পগুলির সাথে সংঘাতের নামকরণ এড়াতে পারি (পয়েন্ট 4 এবং 5)। নোট করুন যে একাধিক উপাদানগুলির জন্য সাধারণ সংস্থানগুলির এখনও একটি উপসর্গ থাকতে পারে (যেমন R.string.myapp_ok_button)।

উপসর্গের পরে, নামটি আমাদের জানাতে হবে কী সংস্থানটি ব্যবহার করা হবে (কর্মটি সম্পাদন করার জন্য, সামগ্রী প্রদর্শিত হবে ইত্যাদি)। বোঝার জন্য একটি ভাল নাম নির্বাচন করা গুরুত্বপূর্ণ (পয়েন্ট 2 এবং 3)।

কখনও কখনও "উপাদান_নাম" আমাদের পর্যাপ্ত তথ্য দেবে, যা বিশেষত সত্য যদি টাইপটি ইতিমধ্যে আর বর্গ দ্বারা দেওয়া হয় ( R.string.myapp_name_string২ য় "স্ট্রিং" এ অপ্রয়োজনীয়)। তবে স্পষ্টভাবে টাইপ যুক্ত করা বোঝার উন্নতি করতে পারে (যেমন, এটি টোস্ট বা একটি লেবেলের মধ্যে পার্থক্য করা অনুবাদকদের পক্ষে সহায়ক হতে পারে)। কখনও কখনও "নাম" এবং "টাইপ" অংশগুলি টাইপ-ভিত্তিক ফিল্টারিংয়ের অনুমতি দেওয়ার জন্য অদলবদল করা যেতে পারে ( R.string.photo_menu_*আমাদের কেবল ফটো উপাদানগুলির জন্য মেনু-সম্পর্কিত আইটেম দেবে)।

ধরা যাক আমরা ছবি তোলার জন্য ক্রিয়াকলাপ লিখছি, ক্লাস com.example.myapp.photo। ফটোঅ্যাক্টিভিটি। আমাদের সংস্থানগুলি এর মতো দেখতে পারে ("ফটো" উপাদান দ্বারা গোষ্ঠীযুক্ত):

R.layout.photo //if only a single layout is used
R.menu.photo  
R.string.photo_capture_instructions_label  
R.id.photo_capture_instructions_label  
R.id.photo_capture_button  
R.id.photo_capture_image  
R.drawable.photo_capture_placeholder  
R.dimen.photo_capture_image_height  

2

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

শুরু করার জন্য একটি ভাল জায়গা হতে পারে সংস্থান সরবরাহ করা

গুগল বিকাশকারীরা কীভাবে কীভাবে কাজ করে তা যদি দেখতে চান তবে এসডিকে উত্স / উদাহরণগুলির পাশাপাশি অ্যান্ড্রয়েড বিকাশকারী ব্লগেও প্রায় খনন করুন ।


1

আমি স্ট্রিংয়ের জন্য পরের নামকরণের কনভেনশনটি পেয়েছি:

[<action>]_<object>_<purpose>

উদাহরণস্বরূপ, ক্লিয়ার_প্লেলিস্ট_টেক্সট, ডিলিট_সং_মেসেজ, আপডেট_প্লেলিস্ট_পসটিভবাটন_টেক্সট। এবং এখানে "ক্রিয়া" alচ্ছিক।


0

আপনি এখানে ধারণা পেতে কোড শৈলীর জন্য গুগল ডকুমেন্টেশন পড়তে পারেন


9
এই নিবন্ধটিতে অ্যান্ড্রয়েডের সংস্থানগুলি সম্পর্কে কিছুই নেই।
ইউজিন

ওহ দুঃখিত আমি আপনার প্রশ্নটি ভুল বুঝেছি mis আমি জানি যে মেনু ফাইলগুলির জন্য আপনার পৃথক শব্দের জন্য আন্ডারস্কোর ব্যবহার করা উচিত। প্রাক্তন। অপশন_মেনু.এক্সএমএল
কেভিন কিউউ

0

আমি সাধারণত আইডির সামনে "এক্স" যুক্ত না করে সম্পদ আইডির জন্য জাভা নামকরণের কনভেনশনগুলি অনুসরণ করি (ফাইলগুলির জন্য ফাইলগুলির জন্য নয়):

<TextView android:id="@+id/xTvName" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>

জাভাতে আমরা এটি সহজ ব্যবহার করতে পারি (আমরা সহজভাবে স্মরণ করতে পারি)

TextView mTvName=(TextView)findViewById(R.id.xTvName);

এখানে এমটিভিএনমে (এটি সাধারণভাবে অ্যান্ড্রয়েডের নামকরণের কনভেনশনগুলির পরামর্শ দেওয়া হয়) এবং xTvName যা অ্যান্ড্রয়েড টেক্সটভিউ এর আইডি (এক্স এক্সএমএল এর জন্য x) এর অংশ হিসাবে লেআউট ফাইলে নামকরণ করা হয়েছিল, আমি এই ধরণের নামকরণ কনভেনশনগুলি বাটন এবং সম্পাদনাটেক্সট ইত্যাদির মতো দেখার জন্য অনুসরণ করি for

এক্সএমএল আইডিগুলিতে : এক্সভিউটাইপস্পেসিফিকামনাম

জাভাতে: mViewTypeSpeficName

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


0

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

সুতরাং এই ধরণের বিভ্রান্তি এড়াতে আমি বোতাম টেক্সটবক্স বা লেবেলের জন্য নিম্নলিখিত নামগুলি ব্যবহার করেছি

উদাহরণ:

 btnName
 labName
 txtName
 listName

এটি আপনার পক্ষে সহায়ক হতে পারে।


-2

কিছু বিধিনিষেধ রয়েছে:

  1. রিসোর্সের নামটিতে অ্যাজ, 0-9, _ হওয়া উচিত
  2. রিসোর্সের নাম অ্যাজ, _ দিয়ে শুরু করা উচিত

যাইহোক, গাইডলাইনগুলি অনুসরণ করা বা মানক কোড থেকে শেখা আরও পরামর্শ দেওয়া হয়।

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