কখনও কখনও কোনও অপ-ক্লজ আপনার কোডটি আরও পঠনযোগ্য করে তুলতে পারে।
এটি মতামতের বিষয় হতে পারে, তবে এখানে একটি উদাহরণ দেওয়া আছে। ধরা যাক আপনি একটি ফাংশন তৈরি করেছেন যা দুটি ইউনিক্স পথ ধরে কাজ করে। এটি এক পথ থেকে অন্য পাথে সিডি করার জন্য প্রয়োজনীয় 'পরিবর্তনের পথ' গণনা করে। আপনি আপনার ফাংশনটিতে একটি বিধিনিষেধ রেখেছেন যে পথগুলি উভয়ই একটি '/' দিয়ে শুরু করা উচিত বা উভয়ই তা শুরু করে না।
function chgpath() {
# toC, fromC are the first characters of the argument paths.
if [[ "$toC" == / && "$fromC" == / ]] || [[ "$toC" != / && "$fromC" != / ]]
then
true # continue with function
else
return 1 # Skip function.
fi
কিছু বিকাশকারী অপ-অপসারণ করতে চাইবে তবে এর অর্থ শর্তযুক্ত অবহেলা করা হবে:
function chgpath() {
# toC, fromC are the first characters of the argument paths.
if [[ "$toC" != / || "$fromC" == / ]] && [[ "$toC" == / || "$fromC" != / ]]
then
return 1 # Skip function.
fi
এখন -আর আমার মতে- যদি আপনি যে ফাংশনটি সম্পাদন করতে চান তা যদি শর্তাদির শর্ত থেকে এটি স্পষ্ট হয় না। অপ-অপসারণ করতে এবং এটি পরিষ্কারভাবে করার জন্য, আপনি যদি-ক্লজটি ফাংশন থেকে সরিয়ে নিতে চান:
if [[ "$toC" == / && "$fromC" == / ]] || [[ "$toC" != / && "$fromC" != / ]]
then
cdPath=$(chgPath pathA pathB) # (we moved the conditional outside)
এটি আরও ভাল দেখায়, তবে অনেক সময় আমরা এটি করতে পারি না; আমরা চেকটি ফাংশনের ভিতরেই করাতে চাই।
তাহলে কত ঘন ঘন এটি ঘটে? খুব প্রায়ই না। বছরে এক-দুবার হতে পারে। এটি প্রায়শই ঘটে যায়, আপনার এটি সম্পর্কে সচেতন হওয়া উচিত। আমি যখন এটি মনে করি এটি আমার কোড (ভাষা নির্বিশেষে) এর পাঠযোগ্যতার উন্নতি করে বলে আমি এটি ব্যবহার করা থেকে বিরত হই না।