ক্রিয়াকলাপ (বিবৃতি) কার্যকরকরণের থেকে মূল্যগুলির গণনা (এক্সপ্রেশন) পৃথক রাখা ভাল ধারণা । কোথায় এবং কখন পদক্ষেপ নেওয়া হবে (বার্তা প্রদর্শন করার মতো) আমরা সুনির্দিষ্ট নিয়ন্ত্রণ চাই, তবে মানগুলি গণনা করার সময় আমরা বরং আরও বিমূর্ত স্তরে কাজ করব এবং কীভাবে এই মানগুলি গণনা করা হচ্ছে সে বিষয়ে যত্ন নেওয়ার দরকার নেই।
একটি ফাংশন যা কেবলমাত্র প্রদত্ত আর্গুমেন্ট ব্যবহার করে একটি রিটার্ন মান গণনা করে, তাকে খাঁটি বলা হয় ।
একটি "ফাংশন" যা কোনও ক্রিয়া সম্পাদন করে তা আসলে একটি প্রক্রিয়া , যার একটি প্রভাব রয়েছে ।
কোনও মান গণনার সময় যে কোনও প্রভাবকে পার্শ্ব-প্রতিক্রিয়া বলা হয় এবং যেখানে সম্ভব সেখানে এড়ানো ভাল ("আমার কেবল সেই স্ট্রিং দরকার ছিল, আমি জানতাম না এটি ডাটাবেসকে হাতুড়ি দিয়ে দেবে!"))।
পার্শ্ব প্রতিক্রিয়া হওয়ার সম্ভাবনা হ্রাস করতে, আমাদের আমাদের পদ্ধতিগুলিতে খুব বেশি ডেটা প্রেরণ করা বা সেগুলিতে কোনও গণনা করা এড়ানো উচিত; যদি আগে থেকে কিছু গণনা করা দরকার হয়, তবে খাঁটি ফাংশনে আলাদাভাবে করা সাধারণত ভাল তবে কেবল প্রয়োজনীয় ফলাফলটিই প্রক্রিয়াটি পাস করুন। এটি পদ্ধতির উদ্দেশ্যটি পরিষ্কার রাখে এবং গণনার অংশ হিসাবে এটি পরে পুনরায় ব্যবহার করার সম্ভাবনা হ্রাস করে (বিশুদ্ধ ফাংশন পরিবর্তে পুনরায় ব্যবহার করা যেতে পারে)।
একই কারণে আমাদের কোনও পদ্ধতির ফলাফলের প্রক্রিয়া এড়ানো উচিত। আমাদের ক্রিয়াকলাপটি (যদি থাকে তবে) ফিরিয়ে দেওয়া এবং খাঁটি ফাংশন দিয়ে পরবর্তী কোনও প্রক্রিয়াজাতকরণ করা ভাল।
যদি আমরা এই নিয়মগুলি অনুসরণ করি তবে আমরা এমন একটি প্রক্রিয়া শেষ করতে পারি sayHello
, যার কোনও ডেটার প্রয়োজন হয় না এবং ফলাফল হয় না। সুতরাং এটির জন্য সর্বোত্তম ইন্টারফেস হ'ল কোনও যুক্তি না থাকা এবং কোনও মান ফেরত দেওয়া নয়। এটি পছন্দনীয়, উদাহরণস্বরূপ, কিছু গণনার মাঝখানে "কনসোল.লগ" কল করা।
গণনার সময় প্রভাবগুলির প্রয়োজনীয়তা হ্রাস করতে, আমাদের গণনা থাকতে পারে যা পদ্ধতিগুলি ফেরত দেয় ; যেমন। আমাদের যদি কোনও পদক্ষেপ নেওয়ার সিদ্ধান্ত নিতে হয়, তবে আমাদের খাঁটি ফাংশনটি সরাসরি কার্যকর করার পরিবর্তে কোনও পদ্ধতি বেছে নিতে এবং তা ফিরিয়ে দিতে পারি।
তেমনি, প্রক্রিয়া চলাকালীন গণনার প্রয়োজনীয়তা হ্রাস করার জন্য, আমরা পদ্ধতিগুলি প্যারামিটার হিসাবে সম্ভবত অন্যান্য পদ্ধতি গ্রহণ করতে পারি (সম্ভবত কোনও ফাংশনের ফলাফল); যেমন। পদ্ধতির অ্যারে গ্রহণ এবং একের পর এক চলমান।