প্রকারের জন্য বাইট আকার খুব আকর্ষণীয় নয় যখন আপনাকে কেবল একটি একক ভাষার সাথে ডিল করতে হয় (এবং কোডটির জন্য যা আপনাকে গণিতের ওভারফ্লো সম্পর্কে নিজেকে মনে করিয়ে দিতে হবে না)। যে অংশটি আকর্ষণীয় হয়ে উঠবে তা হ'ল আপনি যখন একটি ভাষা থেকে অন্য ভাষার মধ্যে সি # টু সিওএম অবজেক্ট ইত্যাদি বানাচ্ছেন বা আপনি কিছুটা বদলি বা মাস্কিং করছেন এবং আপনাকে নিজেকে স্মরণ করিয়ে দেওয়া দরকার (এবং আপনার কোড-রিভিউ সহ-ভোকারস) তথ্য আকার।
অনুশীলনে, আমি সাধারণত তাদের আকারটি মনে করানোর জন্য কেবলমাত্র ইনট 32 ব্যবহার করি কারণ আমি পরিচালিত সি ++ লিখি (উদাহরণস্বরূপ সি # তে ব্রিজ করার জন্য) পাশাপাশি পরিচালনাহীন / নেটিভ সি ++ লিখি।
আপনি যতক্ষণ জানেন, সি # তে 64-বিট হয় তবে স্থানীয় সি ++ এ এটি 32-বিট হিসাবে শেষ হয়, বা চরটি ইউনিকোড / 16-বিট হয় যখন সি ++ এ 8 বিট থাকে। তবে আমরা কীভাবে এটি জানি? উত্তরটি হ'ল কারণ আমরা এটিকে ম্যানুয়ালটিতে দেখেছি এবং এটিও বলেছে।
সময় এবং অভিজ্ঞতার সাথে আপনি যখন সি # এবং অন্যান্য ভাষার মধ্যে ব্রিজ করার জন্য কোড লিখবেন তখন আপনি আরও ধরণের বিবেকবান হতে শুরু করবেন (এখানে কিছু পাঠক "আপনি কেন করবেন?") ভাবছেন, তবে আইএমএইচএও আমি বিশ্বাস করি এটি একটি ভাল অনুশীলন কারণ আমি গত সপ্তাহে আমি কী কোড করেছি তা মনে করতে পারি না (বা আমার এপিআই নথিতে আমাকে উল্লেখ করতে হবে না যে "এই প্যারামিটারটি 32-বিট পূর্ণসংখ্যা")।
ইন এফ # (যদিও আমি এটা ব্যবহার করেছি), তারা সংজ্ঞায়িত int- এ , int32 এবং nativeint । একই প্রশ্ন উঠা উচিত, "আমি কোনটি ব্যবহার করব?"। অন্যরা যেমন উল্লেখ করেছে, বেশিরভাগ ক্ষেত্রে, এটি (স্বচ্ছ হওয়া উচিত) উচিত নয়। তবে আমি কেবল অস্পষ্টতাগুলি সরাতে int32 এবং uint32 পছন্দ করব।
আমি অনুমান করি যে এটি আপনি কী অ্যাপ্লিকেশনগুলি কোডিং করছেন, কে এটি ব্যবহার করছেন, কোন কোডিংয়ের অনুশীলন আপনার এবং আপনার দল অনুসরণ করে ইত্যাদি উপর নির্ভর করবে।