কেউ আমাকে সি # এর কোডিং কনভেনশনটি ব্যাখ্যা করতে পারেন?


14

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

তবে, সি # এর সাথে আমার বৃহত্তম কৌতূহল হ'ল এটি এর পদ্ধতির নামের প্রথম অক্ষরকে মূলধন করে (যেমন: জাভা: getPrime()সি #: GetPrime()ওরফে: পাস্কাল কেস?)। এর কি কোনও ভাল কারণ আছে? ক্র্যাশ কোর্সের পৃষ্ঠাটি থেকে আমি বুঝতে পারি যে স্পষ্টতই এটি কনভেনশনের জন্য পড়েছি et নেট এবং আমার কাছে এটি পরিবর্তন করার কোনও উপায় নেই, তবে কেন এটি সাধারণ (আপেক্ষিক?) উটের মামলার বিপরীতে এইভাবে করা হয়েছিল তা শুনতে আমি আগ্রহী hear যে, জাভা ব্যবহার করে।

দ্রষ্টব্য: আমি বুঝতে পারি যে ভাষাগুলির নিজস্ব কোডিং কনভেনশন রয়েছে (পাইথন পদ্ধতিগুলি সমস্ত নিম্নতর ক্ষেত্রে যা এই প্রশ্নেও প্রযোজ্য) তবে কেন সত্যই তা কোনও মান হিসাবে রূপান্তরিত হয় নি তা আমি কখনও বুঝতে পারি নি।


18
আমি সত্যিই আপনি তাকান করতে পারেন মনে করি না camelCaseএবং PascalCaseএবং underscore_caseবলবো যে, তাদের মধ্যে একজন স্বাভাবিক (এমনকি অপেক্ষাকৃত স্বাভাবিক) এবং অন্যদের না। @ ড্যাসব্লিংকনলাইট যেমন বলেছে, এটি একটি স্বেচ্ছাসেবী পছন্দ। কেবলমাত্র আপনাকে সি-এর সম্মেলনটি অস্বাভাবিক মনে করার জন্য তৈরি করা হচ্ছে আপনি "জাভাতে সাধারণত প্রোগ্রাম" করেন এবং এইভাবে জাভার জন্য করা স্বেচ্ছাসেবী পছন্দটিতে অভ্যস্ত হন।
কারসন 63000

পরিবর্তে জাভাস্ক্রিপ্ট ব্যবহার করুন .. ইউনিটি 3 ডি এর জন্য :)
লিপিস

@ লিপিস কেন - ব্যক্তিগত স্বাদ ছাড়া অন্য? ;-)
আহোদার

@ এডোনএটিলিরা সম্পূর্ণ ব্যক্তিগত .. কিছু মনে করবেন না :) languageক্য উপভোগ করুন ভাষা যাই হোক না কেন .. আপনি ব্যবহার শেষ করবেন ..
লিপিস

@ লিপিস এখন পর্যন্ত এটি দুর্দান্ত। প্রচুর ঘণ্টা এবং শিস ফেলা হয়েছে এবং আমি এখনও এটিতে টাকা ছাড়িনি। তবে আমি সি # (সি / সি ++) এবং জাভা কাঠামোগত স্টাইল পছন্দ করি না।
অহোদার

উত্তর:


27

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


তবে একটি সম্মেলনের পিছনে সাধারণত কিছু যুক্তি থাকতে পারে এবং আমি যখন "এটির জন্য কোনও ভাল কারণ আছে?" WHAT WHAT নয় এমন প্রশ্ন হিসাবে আমি এটিকে বুঝতে পারি।
গ্রীনল্ডম্যান

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

23

সম্ভবত পাস্কাল / ডেলফি প্রভাবের কারণে। সি # এবং ডেলফির স্রষ্টা সবার পরে একই ব্যক্তি ছিলেন (অ্যান্ডারস হেলসবার্গ)।

ডেল্ফি কোডিং কনভেনশনগুলি বৃহত্তর হয়ে থাকে এই দিকটিতে সি # এর মতোই; দেখতে http://www.econos.de/delphi/cs.html#ObjectPascal_Procedures বা http://wiki.delphi-jedi.org/index.php?title=Style_Guide#Method_Naming - কাকতালীয়?


4
এটির জন্য একটি +1 কারণ এটি দেয় যা এই নির্দিষ্ট যথেচ্ছ পছন্দ সি # এর জন্য করা হয়েছিল তার আসল কারণ কি হতে পারে।
ম্যাক্সিমাস মিনিমাস

4

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


1
আন্ডারস্কোরটি সি # ব্যক্তিগত ক্ষেত্রগুলিতে ব্যবহার করা উচিত নয় (দেখুন ব্লগস.এমএসএনএন বি / ব্রাবারদা / আর্কিভ / ২০০৫ / ০১ /২ //3613১6363৩.এসপিএক্স , উদাহরণস্বরূপ) তবে এটি বিতর্কিত এবং প্রায়শই পাওয়া যায়।
জেনস

1
ভাষা নির্মানের মধ্যে পার্থক্য করার জন্য কেসিংয়ের উপর নির্ভর করা সত্যিই খারাপ ধারণা, ভাষা আপনাকে এটি করার অনুমতি দেয় কিনা তা নির্বিশেষে।
gbjbaanb

4
@ টেলাস্টিনের উক্তিটি বেশ চমকপ্রদ। .NET শ্রেণির পাঠাগারটির বেশিরভাগই এই কনভেনশনটি ব্যবহার করে।
ম্যাটড্যাভি

1
@ ডাঙ্ক কীভাবে হঠাৎ আমার কনভেনশন হল? আমি কেবল একটি মন্তব্য দিয়ে যাচ্ছিলাম, এই বিষয়ে আমার কোনও মত হয় না :)
ম্যাটডাভে

2
@ মারজানভেনেমা: আপনি কী বিষয়ে কথা বলছেন তা নিশ্চিত নন তবে সি # যথেষ্ট ক্ষেত্রে সংবেদনশীল এবং আপনার অবশ্যই একইরকম মামলার সদস্যদের মধ্যে সংঘর্ষ হতে পারে। আপনি যখন লাইব্রেরি স্তরে কাজ করছেন এমন ভিবি.এনইটি এর মতো সংবেদনশীল ভাষাগুলি পাওয়া যায় তখন এটি মজাদার এবং উত্তেজনাপূর্ণ হয়ে ওঠে।
ওয়াইয়াট বার্নেট 18
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.