مالفرق بين برمجة المبتدء والمتقدم ؟

السلام عليكم ورحمة الله وبركاته

اتنمى أن أجد الإجابه من خبير

عند كتابة كود مثلا

كود لكتابة المقال فقط (بدون تسجيل وبدون تعليق ...)

ماهو الفرق بين الكتابه من مبتدأ ومن خبير؟

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

وعليكم السلام ورحمة الله وبركاته.

الفرق بين كتابة الكود من مبتدئ ومن خبير يتلخص في عدة جوانب:

  1. التنظيم:
  • المبتدئ: قد يكتب الكود بشكل غير منظم وأكواد غير نظيفة مما يجعله صعب القراءة والفهم والتعديل عليه مستقبلا.
  • الخبير: ينظم الكود بشكل جيد فيتم تقسيم الملفات وتنظيمها و يستخدم هياكل واضحة للأكواد مما يسهل فهمها وقرائتها والتعديل عليها مستقبلا .

2.الكفاءة:

  • المبتدئ: قد يكتب كود طويل أو غير فعال مما يؤدي إلى بطء الأداء فأبسط شئ أنه قد لا يستطيع التعامل مع قاعدة البيانات بشكل جيد مما يستهلك مواردا ووقتا كثيرا لخدمة الطلب.
  • الخبير: يستخدم تقنيات متقدمة لتحسين كفاءة الكود وتقليل استخدام الموارد مما يسهم في تقليل وقت الطلب.

3.إعادة الاستخدام:

  • المبتدئ: قد يكتب كودًا متكررًا وغير قابل لإعادة الاستخدام .
  • الخبير: يركز على كتابة كود يمكن إعادة استخدامه بسهولة في مشاريع أخرى.

4.التعامل مع الأخطاء:

  • المبتدئ: قد يتجاهل إدارة الأخطاء أو لا يتعامل معها بشكل جيد مما يسبب خطأ في الأكواد في الحالات التي لتم يتم التعامل مع الأخطاء فيها.
  • الخبير: يتضمن معالجة الأخطاء بشكل منهجي مما يحسن من استقرار وجودة البرنامج وتحسين تجربة المستخدم.

5.الإختبار :

  • المبتدئ: قد لا يهتم بإجراء اختبارات على الكود.
  • الخبير: ينشئ اختبارات لضمان أن الكود يعمل بشكل صحيح ويغطي مختلف الحالات.

تلخيصا لما سبق الخبير يكتب أكواد ذات جودة وكفاءة عالية وسرعة في التنفيذ

كلاهما يمكن ان يكتب الكود و يعمل

لكن المبتدئ ياخذ وقت اطول

و يمكن للخبير تفادي العديد من المشاكل

مثلا انا مطور لانظمة المحتوى من سنوات

في مسالة كتابة المقالات لم اعطي مسالة نوع الترميز الاهمية الكافية مما جعلني اواجه مشاكل لاحقا

ثم مسالة دعم كتابة المقال نفسها مثلا هل هي نص بسيط ام مع تنسيق ؟

اذا كانت نص بسيط يجب الاخذ بعين الاعتبار معالجة مسالة رموز لا نراها كرمز السطر الجديد

اما اذا اردت دعم التنسيق مثلا عن طريق وسوم ال html

المبتدئ قد لا ياخذ بعين الاعتبار ان عليه فحص المدخلات لان هذا قد يؤدي لادخال اكواد خبيثة تؤثر او تضر بكل من يدخل لصفحة المقال

بالإضافة لما ذكر في التعليقات السابقة يمكن ذكر هذه النقاط :

  1. التوثيق والقراءة:
  • المبتدئ: يكتب الكود دون توثيق (تعليقات توضح عمل قطعة معينة من الكود) أو أسماء متغيرات غير واضحة، مما يجعل من الصعب على الآخرين (أو حتى عليه بعد فترة) فهم الكود.
  • الخبير: يحرص على التوثيق الجيد ويختار أسماء متغيرات ودوال واضحة تعبر عن وظيفتها، مما يسهل على أي شخص فهم الكود بسرعة.

2 . المرونة وقابلية التوسع:

  • المبتدئ:يكتب كودًا يلبي المتطلبات الحالية فقط، مما يجعل التوسع مستقبليًا أمرًا صعبًا أو يحتاج إلى إعادة بناء الكود.
  • الخبير: يخطط للكود بحيث يكون مرنًا وقابلًا للتوسيع، مما يسهل إضافة ميزات جديدة أو تغيير المتطلبات دون الحاجة لإعادة كتابة الكود من الصفر.

و إليك هذا المثال:

كود المبتدئ:

$title = $_POST['title'];
$content = $_POST['content'];
$query = "INSERT INTO posts (title, content) VALUES ('$title', '$content')";
mysqli_query($connection, $query);

كود الخبير:

$title = htmlspecialchars($_POST['title'], ENT_QUOTES);
$content = htmlspecialchars($_POST['content'], ENT_QUOTES);
$stmt = $pdo->prepare("INSERT INTO posts (title, content) VALUES (:title, :content)");
$stmt->execute(['title' => $title, 'content' => $content]);

الفرق بين الكودين:

  • الخبير يهتم بأمان البيانات ويستخدم التحضير المسبق للبيانات لمنع هجمات حقن SQL.
  • ما يستخدم دالة htmlspecialchars لحماية المدخلات من هجمات XSS (Cross-Site Scripting)، في حين أن كود المبتدئ عرضة لهذه الأخطاء.

الخلاصة: هذه الفروقات تجعل من كود الخبير أكثر كفاءة وأمانًا وقابلية للتطوير، بينما كود المبتدئ يلبي الاحتياجات فقط، و سيواجه صعوبات في التوسع أو الأمان على المدى البعيد

سؤال آخر أن أمكن

كيف يتم تحديد الشخص الخبير أو المبتدء ؟

هل يوجد طريقة غير مشاهدة مثال على الكود ؟

مثلا سنوات الخبره ؟ أو أعمال ذات حجم كبير ؟ أو تخصص واحد يأكد الخبير وتعدد التخصصات ينفي ذلك ؟

الشكر للجميع فعلا اجابات افادتني ولعلها تفيد غيري

لا يوجد طريقة بسيطة

ممكن تكون خبرة الشخص 10 سنوات لكن خبرته مكررة

و تعدد التخصصات يمكن ان يدل على سعة الاطلاع او على التشتت

الافضل عادة الاطلاع على الاعمال السابقة التي تعمل حالي اذا كان المطلوب موقع او تطبيق مثلا و تقييم جودتها

و عند الاتفاق يكون في وسيط يضمن رفض العمل في حال مخالفة الاتفاق

و توظيف شخص لتقييم العمل

مجهول
  • حذف بواسطة المستخدم