হাঙ্গেরীয় নোটেশনের উদ্দেশ্য হ'ল সনাক্তকারীকে তথ্য এনকোড করা যা অন্যথায় টাইপ সিস্টেমে এনকোড করা যায় না। আমার নিজের মতামতটি হ'ল যদি এই তথ্যটি এনকোড করার জন্য যথেষ্ট গুরুত্বপূর্ণ, তবে এটি টাইপ সিস্টেমে এনকোড করা যথেষ্ট গুরুত্বপূর্ণ, যেখানে এটি সঠিকভাবে পরীক্ষা করা যায়। এবং যদি তথ্যটি গুরুত্বপূর্ণ না হয় তবে আপনি কেন এটির সাথে আপনার উত্স কোডটি বিশৃঙ্খলা করতে চান?
অথবা, আরও সাফল্যের সাথে বলতে গেলে: টাইপ তথ্য টাইপ সিস্টেমে অন্তর্ভুক্ত। (দ্রষ্টব্য: এটি কোনও স্ট্যাটিক টাইপ সিস্টেম হতে হবে না it যতক্ষণ না এটি টাইপ ত্রুটিগুলি ধরেছে ততক্ষণ আমি সেগুলি কবে ধরব সেদিকে খেয়াল নেই ))
অন্যান্য বেশ কয়েকটি উত্তরে ইউনিট অফ মেজারকে হাঙ্গেরিয়ান নোটেশনের গ্রহণযোগ্য ব্যবহার হিসাবে উল্লেখ করা হয়েছে। (আমি একপ্রকার অবাক হয়েছি যে এখনও কেউ নাসা মার্স ক্লাইমেট অরবিটারের কথা উল্লেখ করেনি, যেহেতু এটি হাঙ্গেরিয়ান নোটেশন সম্পর্কিত আলোচনায় সব সময় উঠে আসে)।
এফ # তে এখানে একটি সাধারণ উদাহরণ রয়েছে:
[<Measure>] type m
[<Measure>] type ft
let someLength = 48.15<m>
let someOtherLength = 16.2342<ft>
someLength + someOtherLength
// someLength + someOtherLength
// -------------^^^^^^^^^^^^^^^
// error FS0001: The unit of measure 'ft' does not match the unit of measure 'm'.
দেখো মা, হাঙ্গেরিয়ান না!
যদি আমি ছিল পরিবর্তে এখানে ধরনের হাঙ্গেরীয় স্বরলিপি, ব্যবহার করা যে আমাকে সাহায্য করবে না এক বিট:
let mSomeLength = 48.15
let ftSomeOtherLength = 16.2342
mSomeLength + ftSomeOtherLength
// > val it : float = 64.3842
সংকলকটি সরাসরি এটি দিয়ে দিন let মূলত কোনও ধরণের ত্রুটি কী তা চিহ্নিত করার জন্য আমি এখন একজন মানুষের উপর নির্ভর করছি । এটি কি টাইপ চেকার জন্য নয়?
আরও ভাল, ফ্রিংক প্রোগ্রামিং ভাষা ব্যবহার করে :
someLength = 48.15m
someOtherLength = 16.2342ft
someLength + someOtherLength
// 53.09818416 m (length)
// Wanna know the answer in a good old fashioned American unit?
someLength + someOtherLength -> yd
// 58.06888031496062992
// Are you an astrophysicist?
someLength + someOtherLength -> parsec
// 1.7207949554318336148e-15
// ... or a fundmentalist Christian who refuses to use units invented
// less than 2000 years ago?
someLength + someOtherLength -> biblicalcubits
// 95.893563822870765006
সুতরাং, সংক্ষেপে: আমি হাঙ্গেরিয়ান নোটেশন পছন্দ করি না। আপনার এটি কখনও ব্যবহার করা উচিত নয়।
বলা হচ্ছে, আমি মনে করি হাঙ্গেরিয়ান নোটেশন ব্যবহার করা ভাল ধারণা। কিসের অপেক্ষা?
হ্যাঁ! এই বিশেষ ক্ষেত্রে , আপনি উল্লেখ করেছেন:
তদ্ব্যতীত, আমাদের কোডগুলির বেশিরভাগটি কিছু অদ্ভুত ডিএসপিগুলিতে চলতে হয়, যেখানে বুল বা ফ্লোটের মতো ধারণা কোনওভাবেই বিদ্যমান নেই where
কিন্তু যে অবিকল শুধুমাত্র যুক্তিসম্মত ব্যবহারের ক্ষেত্রে জন্য হাঙ্গেরীয় স্বরলিপি!
পিএস: আমি আন্তরিকভাবে ফ্রাঙ্কের দিকে নজর দেওয়ার পরামর্শ দিচ্ছি। এটির ম্যানুয়ালটিতে এখন পর্যন্ত সবচেয়ে ভয়ঙ্কর কিছু বাড়াবাড়ি রসিকতা রয়েছে। এটি খুব সুন্দর ভাষা :-)