TGViewer
Yhya Nesb Yhya Nesb @yhyanesb · 624 subscribers
Post #345 707

Forwarded from Yhya Nesb (ᯓ ˹𝚈𝙷𝚈𝙰 𝚂𝚈𝚁𝙸𝙰𝙽˼ ༆)

منشور من سلسة #CleanCode لمعرفة التفاصيل انقر هنا 🔗
الجزء التاسع في هذه القناة 9️⃣
تجنب التحقق من الأنواع الجزء الأول:
بمعنى أصح لماذا تريد التحقق من الأنواع type بنفسك في حال كانت php تدعم هذا الخيار 😁، الفرق هنا بأن وضع النوع المحدد في المعامل (Parameter) سيفيد المطور أكثر بحيث لن يجبر لقراءة الكود البرمجي أو حتى إجراء عملية تجربة للتحقق من النوع بأنه مقبول 😊
الاستخدام السيء:
function travelToTexas($vehicle): void
{
if ($vehicle instanceof Bicycle) {
$vehicle->pedalTo(new Location('texas'));
} elseif ($vehicle instanceof Car) {
$vehicle->driveTo(new Location('texas'));
} else {
throw new Exception("Error Type");
}
}

الاستخدام الجيد:
function travelToTexas(Vehicle $vehicle): void
{
$vehicle->travelTo(new Location('texas'));
}

تجنب التحقق من الأنواع الجزء الثاني:
في حال كنت تستخدم أنواع البيانات الأساسية مثل int - string فقم بإضافتها للمعامل (Parameter) فهي تفيد أيضاً لعملية الإختبار الأولية أيضاً 🧑‍💻
الاستخدام السيء:
function combine($val1, $val2): int
{
if (! is_numeric($val1) || ! is_numeric($val2)) {
throw new Exception('Must be of type Number');
}

return $val1 + $val2;
}

الاستخدام الجيد:
function combine(int $val1, int $val2): int
{
return $val1 + $val2;
}

احذف الكود البرمجي القديم:
حذف الكود البرمجي القديم والغير مستخدم ضروري 🙂 للأسف قابلت البعض ممن يظنون أن وضع التعليقات هي الطريقة السليمة لهذا 🤦‍♂️ لكن العكس فأنت بكل يوم تتعلم شيء جديد وكتابتك للكود ستختلف حتماً من يوم لأخر فعند إعادة كتابتك لكود جديد فسيكون مختلف وأفضل من القديم 🔥
بالإضافة لماذا تريد أن نضيع بأسماء هذه البرمجيات 🙂 v1 و v2 و new و old 🤦‍♂️ كلما كانت برمجياتك نظيفة كلما زاد تقديرك لمن طور بعدك 🫡
الاستخدام السيء:
function oldRequestModule(string $url): void
{
// ...
}

function newRequestModule(string $url): void
{
// ...
}

$request = newRequestModule($requestUrl);
inventoryTracker('apples', $request, 'www.inventory-awesome.io');

الاستخدام الجيد:
function requestModule(string $url): void
{
// ...
}

$request = requestModule($requestUrl);
inventoryTracker('apples', $request, 'www.inventory-awesome.io');

هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك ☺️
للمزيد من هذه الشروحات يمكنك متابعتي ⬅️ @YhyaNesb 🔥
#php
  • ❤ 3
More from @yhyanesb
  1. Sep 15, 2026منصة CoinEx تغلق أبوابها وتمهل المستخدمين مدة لسحب كافة أصولهم كانت منصة CoinEx منصة التدا…
  2. Aug 17, 2026نتعلم كيف الشركات بتساند بعضها وقت المصايب 😃
  3. Aug 17, 2026Github Down 🫠💔
  4. Aug 11, 2026أحياناً استثمار المشكلة بكون أفضل حل للمشكلة 👌
  5. Jul 13, 2026نتيجة الثقة المفرطة بال AI 🤷‍♂
  6. Jul 3, 2026عرض توضيحي لآلية عمل خوارزمية bubble sort #sort #algorithm #programming
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →