Warning: mkdir(): No space left on device in /var/www/tgoop/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/mohcinspacesoftware/--): Failed to open stream: No such file or directory in /var/www/tgoop/post.php on line 50
Mohcin Space@mohcinspacesoftware P.390
MOHCINSPACESOFTWARE Telegram 390
ال Recursion، ما هي؟ نظرة عامة و فهم عام!، -من الاساسيات-

ال Recursion هي تقنية مفيدة لحل المشاكل عن طريق تقسيمها إلى base case و recursive case.

تقنيا؛ هي لما تقوم دالة function بالنداء على نفسها داخل الكود. من أشهر الأمثلة على استخدامها هي طريقة/تقنية divide-and-conquer، اللي تُستخدم كثير في حل المشاكل المعقدة بطريقة ذكية و سريعة.

لكن لو نسيت تحدد base case، ممكن الكود يدخل في infinite loop ويوقف التطبيق تماما.
مثال بسيط يوضح المشكلة:

function countdown($number) {
echo $number . "\n";
countdown($number - 1);
}

countdown(20);


الكود أعلاه سيستمر في إستدعاء نفسه إلى ما لا نهاية.. لأنه لا يتوفر على شرط يوقف الـ recursion.

الحل: استخدم الـ base case

function countdown($number) {
if ($number <= 0) {
return;
}
echo $number . "\n";
countdown($number - 1);
}

في هذا المثال:

if ($number <= 0) { return; } ==> the base case

countdown($number - 1); ==> recursive case.

أنا استخدمت early return بدل if/else لأن القراءة أوضح (خيار شخصي).

الـ recursion من الناحية التقنية تستخدم نفس مفهوم الـ loops، ولا تعطيك أداء أعلى، لكن في بعض الحالات تكون أوضح وأسهل للفهم، خاصة لو كنت تتعامل مع هياكل متكررة أو المشاكل المعقدة و الضخمة.

#PHP #Recursion #ProgrammingTips #DX #CleanCode #Algorithms



tgoop.com/mohcinspacesoftware/390
Create:
Last Update:

ال Recursion، ما هي؟ نظرة عامة و فهم عام!، -من الاساسيات-

ال Recursion هي تقنية مفيدة لحل المشاكل عن طريق تقسيمها إلى base case و recursive case.

تقنيا؛ هي لما تقوم دالة function بالنداء على نفسها داخل الكود. من أشهر الأمثلة على استخدامها هي طريقة/تقنية divide-and-conquer، اللي تُستخدم كثير في حل المشاكل المعقدة بطريقة ذكية و سريعة.

لكن لو نسيت تحدد base case، ممكن الكود يدخل في infinite loop ويوقف التطبيق تماما.
مثال بسيط يوضح المشكلة:

function countdown($number) {
echo $number . "\n";
countdown($number - 1);
}

countdown(20);


الكود أعلاه سيستمر في إستدعاء نفسه إلى ما لا نهاية.. لأنه لا يتوفر على شرط يوقف الـ recursion.

الحل: استخدم الـ base case

function countdown($number) {
if ($number <= 0) {
return;
}
echo $number . "\n";
countdown($number - 1);
}

في هذا المثال:

if ($number <= 0) { return; } ==> the base case

countdown($number - 1); ==> recursive case.

أنا استخدمت early return بدل if/else لأن القراءة أوضح (خيار شخصي).

الـ recursion من الناحية التقنية تستخدم نفس مفهوم الـ loops، ولا تعطيك أداء أعلى، لكن في بعض الحالات تكون أوضح وأسهل للفهم، خاصة لو كنت تتعامل مع هياكل متكررة أو المشاكل المعقدة و الضخمة.

#PHP #Recursion #ProgrammingTips #DX #CleanCode #Algorithms

BY Mohcin Space


Share with your friend now:
tgoop.com/mohcinspacesoftware/390

View MORE
Open in Telegram


Telegram News

Date: |

Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators. How to Create a Private or Public Channel on Telegram? Clear A Telegram channel is used for various purposes, from sharing helpful content to implementing a business strategy. In addition, you can use your channel to build and improve your company image, boost your sales, make profits, enhance customer loyalty, and more. According to media reports, the privacy watchdog was considering “blacklisting” some online platforms that have repeatedly posted doxxing information, with sources saying most messages were shared on Telegram.
from us


Telegram Mohcin Space
FROM American