সি এবং সি ++ প্রোগ্রামগুলিতে আমি কীভাবে চিহ্নিত করব?


12

ইন আমার এই উত্তরের , আমি ব্যবহার _tধরনের, যা শ্রেষ্ঠ সময়ে বিতর্কিত শেষ হয়েছে শেষে। আমার বর্তমান প্রকল্পগুলিতে এটি ব্যবহার করা অনুশীলন।

typedef struct {
    int x;
    int y;
} point_t;

এটি stddef.hপছন্দ মত size_tঅথবা থেকে সি ধরণের সাথে সামঞ্জস্যপূর্ণ হওয়ার উদ্দেশ্যে তৈরি হয়েছিল ptrdiff_t। তবে, আমার প্রশ্নগুলির নির্দিষ্ট মতামত অনুসারে _tপোস্টফিক্সটি পসিক্সের জন্য সংরক্ষিত বলে মনে হচ্ছে। এর পরিবর্তে আমার কী ব্যবহার করা উচিত _t? অথবা আমি _tযাই হোক না কেন ব্যবহার চালিয়ে যাওয়া উচিত ?

এই প্রশ্নটি সি এবং সি ++ উভয়েরই জন্য। যদি এই ভাষাগুলির বিভিন্ন কনভেনশন থাকে তবে নির্দ্বিধায় এই উত্তর দিন।


2
একটি সাধারণ কনভেনশন হ'ল ক্লাসের নামগুলি হ'ল লুক লাইক এটি। এই মুহুর্তে আপনার এমনকি প্রত্যয় প্রয়োজন হয় না। (এটি জাভা,। নেট ইত্যাদির জন্য বেশি সাধারণ তবে এটি সি ++
তেও কাজ করে

1
শেষ পর্যন্ত এটি হাঙ্গেরিয়ান নোটেশনের একটি রূপ। এবং সেই আলোচনা অন্তহীন। আমি এখন একের পক্ষে এটির বিপক্ষে এবং সিএইচওর সমাধান নিয়ে যাচ্ছি। কেন? কারণ আমি প্রত্যেক কিছুর জন্য প্রায় 4 বছর হাঙ্গেরিয়ান নোটেশন ব্যবহার করেছি, তারপর এটি ছাড়াই কোনও প্রকল্প করার সিদ্ধান্ত নিয়েছি এবং এটি একেবারেই মিস করি না। এবং এটিতে সময় নষ্ট করেনি। সুতরাং আমি এটিকে পুরোপুরি ফেলে দিয়েছি কারণ এটি আমার কাছে মোটামুটি মূল্য নেই। আর আমি আর পেছনে ফিরে তাকালাম না।
15

1
সংরক্ষিত শনাক্তকারীদের জন্য এই প্রশ্নটি দেখুন (সহ _t) stackoverflow.com/a/228797/14065
মার্টিন ইয়র্ক

উত্তর:


16

নামকরণের প্রকারের ক্ষেত্রে সি এবং সি ++ সম্প্রদায়ের মধ্যে noক্যমত্য নেই।

যদিও _tপ্রত্যয়টি প্রকৃতপক্ষে পসিক্স দ্বারা সংরক্ষিত রয়েছে , কেউ কেউ _tআপনার নিজের প্রকারের জন্য প্রত্যয়টি ব্যবহার করার পক্ষে পরামর্শ দেবেন , অন্যরা সমানভাবে দৃama়তার সাথে যুক্তি দেবে যে আপনি পসিক্সের সাথে সদৃশ নামগুলি ঝুঁকি নিয়ে ভাগ্যকে প্রলোভিত করবেন না।

বিকল্প নামকরণের সম্মেলনগুলি প্রকারের জন্য উপসর্গের ব্যবহারের পরামর্শ দেয়, যেমন Cবা T


16

আমি প্রত্যয় বরং অরুপ খুঁজে পেতে এবং তাই এড়াতে _tইত্যাদি একটি ভাল বিকল্প তাই হয়, টাইপ নামের শুরু করতে একটি বড় হাতের অক্ষর ব্যবহার করা Pointউপরে আপনার উদাহরণে।


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

1
এছাড়াও আমার প্রিয় কৌশল। প্রকারের একটি প্রাথমিক বড় হাতের অক্ষর থাকে। অন্যান্য সমস্ত সনাক্তকারী প্রকার নয় এবং সহজেই দেখা যায়।
মার্টিন ইয়র্ক

আমি সবসময় মনে করি এটি বেশ কুৎসিত দেখাচ্ছে। আমার সাথে অন্যের সম্মত তা দেখে ভাল লাগছে।
syb0rg

আমি কেবল পয়েন্টার প্রকারের জন্য প্যাসকেলকে ব্যবহার করি (কারণ সি # এবং জাভা এর মতো ভাষার যেখানে পাস্কাল কেস মানে বর্গ, অর্থাত্ ডেটা রেফারেন্স) তবে আপনি যেখান থেকে এসেছেন তা আমি পেয়েছি।
yyny

1

এটা তোমার উপর নির্ভর করে. সংরক্ষিত শব্দের সাথে দ্বন্দ্ব না হলে আপনি যাওয়াই ভাল। তবে, আপনি কোনও সংস্থায় কাজ করছেন এমন এক দৃশ্যের বিষয়টি বিবেচনা করুন এবং একাধিক লোক একই কোড বেসটি অ্যাক্সেস করছে এবং আপনার কোডটি এমন কোনও ব্যক্তির কাছে পৌঁছেছে যা আপনার অভ্যাস সম্পর্কে অবগত নয় তিনি বিশেষত যদি ধরে নিতে পারেন যে এটি একটি সংরক্ষিত প্রকার, বিশেষত যদি আপনি point_t মত কিছু লিখুন। সুতরাং, এটি সরল রাখুন যেমন পয়েন্ট বিন্দু_আর তুলনায় সহজ simp এবং যদি আপনি এটিতে কিছু যুক্ত করতে চান তবে আপনার নামের আদ্যক্ষর যুক্ত করুন।

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