কনস্টের জন্য নামকরণের সম্মেলনে যান


117

আমি constগোলংয়ের নামগুলির জন্য নামকরণের কোনও সম্মেলন আছে কিনা তা নির্ধারণের চেষ্টা করছি ।

আমি ব্যক্তিগতভাবে সি শৈলী অনুসরণ করতে ঝোঁক হবে এবং তাদের বড় হাতের অক্ষরে লিখতে, কিন্তু আমি এই পৃষ্ঠাতে কোন জিনিস পাও নি http://golang.org/doc/effective_go.html কোন ভাষায় কিছু নামকরণ নিয়মাবলী তালিকা বলে মনে হয়।


5
আমি FOO_BAR_BAZপঠনযোগ্যতার জন্য স্টাইলে ধ্রুবকগুলি লিখতে পছন্দ করি তবে দুর্ভাগ্যক্রমে এটি ধ্রুবকের দৃশ্যমানতার উপর প্রভাব ফেলে এবং এটি সাধারণ নয়। আমার সবেমাত্র আমার অহংকার গ্রাস করতে হয়েছিল এবং কনভেনশনটি আমার পছন্দ না হলেও গ্রহণ করতে হয়েছিল।
বাইসোর

উত্তর:


131

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

কয়েকটি উদাহরণ:

  • md5.BlockSize
  • os.O_RDONLY এটি ব্যতিক্রম কারণ এটি সরাসরি পসিক্স থেকে ধার করা হয়েছিল।
  • os.PathSeparator

7
আপনি যদি নিজের constউপাদানটি অন্যান্য প্যাকেজগুলির কাছে প্রকাশ করতে চান তবে তা নির্ধারণ করাও গুরুত্বপূর্ণ । আপনি যদি ব্যবহার করেন UpperCamelCaseবা ALL_CAPSআপনি এটি আপনার প্যাকেজের বাইরে রফতানি করবেন। এই কারণে, আমি lowerCamelCaseপ্রাইভেট কনস্ট ভেরিয়েবলগুলির জন্য আঁকড়ে থাকি এবং গো প্রকল্পের তুলনায় অপেক্ষাকৃত কাছের কোনও ব্যক্তির কাছ থেকে এই প্রস্তাবটি পড়ার কথা মনে পড়ে (অথবা সম্ভবত অফিসিয়াল ডকুমেন্টেশনেও - আমি কোথায় ভুলে যাই)।
weberc2

81

কোড পর্যালোচনা মন্তব্যসমূহ যান

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

আপনি এটিকে http://golang.org/doc/effective_go.html এর পরিপূরক হিসাবে দেখতে পারেন ।

মিশ্র ক্যাপস

Http://golang.org/doc/effective_go.html#mixed-caps দেখুন । এটি অন্যান্য ভাষায় সম্মেলনগুলি ভেঙেও প্রযোজ্য। উদাহরণস্বরূপ একটি অপরিবর্তিত ধ্রুবক হ'ল ম্যাক্সেলংথ বা ম্যাক্স_এলএনজিএইচ নয় not


কার্যকর যান

MixedCaps

পরিশেষে, গো-র সম্মেলনটি হ'ল মাল্টওয়ার্ডের নাম লেখার জন্য আন্ডারস্কোরের পরিবর্তে মিক্সডক্যাপস বা মিশ্রক্যাপগুলি ব্যবহার করা।


গো প্রোগ্রামিং ভাষার স্পেসিফিকেশন

রফতানি শনাক্তকারী

কোনও সনাক্তকারী অন্য প্যাকেজ থেকে এটিতে অ্যাক্সেসের অনুমতি দিতে রফতানি হতে পারে। একটি শনাক্তকারী এক্সপোর্ট করা হয় যদি উভয়:

  • শনাক্তকারীর নামের প্রথম অক্ষরটি ইউনিকোড আপার কেস লেটার (ইউনিকোড শ্রেণি "লু"); এবং

  • সনাক্তকারীটিকে প্যাকেজ ব্লকে ঘোষণা করা হয় বা এটি ক্ষেত্রের নাম বা পদ্ধতির নাম।

অন্যান্য সমস্ত সনাক্তকারী রফতানি হয় না।


মিশ্র ক্যাপ ব্যবহার করুন।


12

নির্দিষ্ট উদাহরণ। নোট করুন যে ধ্রুবক (যখন প্রাসঙ্গিক) তে টাইপ ঘোষণা করা সংকলকটির পক্ষে সহায়ক হতে পারে।

// Only visible to the local file
const localFileConstant string = "Constant Value with limited scope"

// Exportable constant
const GlobalConstant string = "Everyone can use this"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.