একেবারে মন্দ নয়। আসলে, এটি খাঁটি , এবং যদি-তবে-অন্যথায় হয় না।
হাস্কেল, এফ #, এমএল ইত্যাদির মতো ক্রিয়ামূলক ভাষায়, এটি যদি অন্যথায় বিবৃতি হয় তবে এটি মন্দ বলে বিবেচিত হয়।
এর কারণ হ'ল অপরিহার্য মতো কোনও "ক্রিয়া" যদি অন্যথায় বিবৃতি দেয় তবে আপনাকে তার সংজ্ঞা থেকে একটি পরিবর্তনশীল ঘোষণা পৃথক করতে হবে এবং আপনার ফাংশনটির সাথে রাষ্ট্রের পরিচয় দিন ।
উদাহরণস্বরূপ, নিম্নলিখিত কোডে:
const var x = n % 3 == 1
? Parity.Even
: Parity.Odd;
বনাম
Parity x;
if (n % 3 == 1)
x = Parity.Even;
else
x = Parity.Odd;
খাটো হওয়া বাদ দিয়ে প্রথমটির দুটি সুবিধা রয়েছে:
x
একটি ধ্রুবক এবং তাই বাগগুলি প্রবর্তন করার খুব কম সুযোগ সরবরাহ করা হয় এবং দ্বিতীয়টি কখনই হতে পারে না এমন উপায়গুলিতে সম্ভাব্যভাবে অনুকূলিত হতে পারে।
- প্রকারটি প্রকাশের মাধ্যমে স্পষ্ট করে দেওয়া হয়েছে, তাই সংকলক অনায়াসে অনুমান
x
করতে পারে যা টাইপ হওয়া দরকার Parity
।
বিভ্রান্তিকরভাবে, কার্যকরী ভাষায়, টের্নারি অপারেটরকে প্রায়শই যদি-তবে-বলা হয়। হাস্কেলের মধ্যে, আপনি বলতে পারেন x = if n mod 3 == 1 then Odd else Even
।