Python:
কোডকে ফাংশনগুলিতে সাজানো

কিভাবে:

ধরুন, আপনি কোন সংখ্যার বর্গ এবং ঘনমূল হিসাব করার একটি স্ক্রিপ্ট লিখছেন। ফাংশন ছাড়া, এটা হয়ে যায় পুনরাবৃত্তির এক গোলকধাঁধা:

num = 4
square = num * num
cube = num * num * num
print(f"বর্গ: {square}, ঘনমূল: {cube}")

num = 5
square = num * num
cube = num * num * num
print(f"বর্গ: {square}, ঘনমূল: {cube}")

আউটপুট:

বর্গ: 16, ঘনমূল: 64
বর্গ: 25, ঘনমূল: 125

ফাংশনের সাথে, এটা আরও পরিপাটি:

def square(n):
    return n * n

def cube(n):
    return n ** 3

num = 4
print(f"বর্গ: {square(num)}, ঘনমূল: {cube(num)}")

num = 5
print(f"বর্গ: {square(num)}, ঘনমূল: {cube(num)}")

আউটপুট:

বর্গ: 16, ঘনমূল: 64
বর্গ: 25, ঘনমূল: 125

গভীর ডুব

বহু আগে, যখন প্রোগ্রামগুলো সহজ ছিল, শুধু নির্দেশনাবলীর একটি তালিকা লিখেই চলে যেত। কিন্তু যত সফটওয়্যার জটিল হতে লাগল, ডেভেলপাররা বুঝতে পারলেন তারা একই কোড বারবার লিখে চলেছেন। হ্যালো, ফাংশন—একক কাজ সম্পাদনকারী পুনঃপ্রয়োজনীয় কোড ব্লক।

ফাংশন ছাড়া বিকল্প অন্তর্ভুক্ত ক্লাস (যেগুলো ডাটা সহ ফাংশনগুলিকে বাঁধাই করে) এবং ইনলাইন কোড (যখন প্রয়োজন ঠিক তখনই বুদ্ধিমত্তা, তবে জটিল কাজের জন্য ঝুঁকিপূর্ণ)। বাস্তবায়ন সম্পর্কিত, কৌশলটি শুধু ফাংশন তৈরি করা নয় বরং তাদের একটি ভালো কাজ করার জন্য সুনির্দিষ্ট করা—চিন্তা করুন একক দায়িত্ব নীতি সম্পর্কে। ফাংশনগুলি আদর্শভাবে অবস্থা-শূন্য হতে পারে, অর্থাৎ ডাটা আসা বা যাওয়া নিয়ে কোন চমক নেই।

আরও দেখুন

  • ফাংশন সম্পর্কে অফিসিয়াল পাইথন টিউটোরিয়াল: https://docs.python.org/3/tutorial/controlflow.html#defining-functions
  • ‘ক্লিন কোড’ রবার্ট সি. মার্টিন রচিত, পরিষ্কার ফাংশন লেখার নীতিগুলি সম্পর্কে।
  • ‘রিফ্যাক্টরিং: ইম্প্রুভিং দ্য ডিজাইন অফ এক্সিসটিং কোড’ মার্টিন ফাউলার রচিত, যেটি কোড আয়োজনের উদাহরণসমূহ অন্তর্ভুক্ত।