على مدى السنوات الخمس الماضية، كنت أحاول باستمرار تحسين مهاراتي في البرمجة، وكان أحدها هو تعلم واتباع أنماط البرمجة الموصى بها.
يهدف هذا الدليل إلى مساعدتك في كتابة تعليمات برمجية متسقة وأنيقة ويتضمن بعض النصائح لتحسين إمكانية قراءة التعليمات البرمجية وإمكانية صيانتها. إنه مستوحى من الإرشادات الشائعة الأكثر قبولًا داخل المجتمع ولكن لديه بعض التعديلات ليتناسب بشكل أكثر ملاءمة مع تفضيلاتي.
ومن الجدير بالذكر أنني مطور جافا سكريبت متكامل، وجميع ملاحظاتي خاصة بمكدس التكنولوجيا الخاص بي (MEVN) وقد لا تنطبق على مكدسات أخرى.
إذا كانت هناك حاجة لكتابة نفس مقطع التعليمات البرمجية (أو مع بعض الاختلافات التي يمكن التحكم فيها) في أكثر من مكان واحد، فمن من الضروري دمجها في وظيفة، وبعد ذلك، استدعاء الوظيفة كلما ضروري.
يجب أن تعمل الوظائف بشكل مستقل، مما يعني أن تحرير إحداها يجب أن لا يكون له أي تأثير على الإطلاق على الوظائف الأخرى طالما ظلت المدخلات والمخرجات كما هي. يجب أن لا يكون لكل وظيفة أي معرفة بتعريفات الوظائف الأخرى وأن تعمل كمكون منفصل. في هذه الحالة، كل ما تعرفه هو معلماتها، وبغض النظر عمن يستدعي الوظيفة، فإن نفس المدخلات دائمًا ما تُرجع نفس النتائج.
تصريح
استخدم الكلمة الأساسية const عندما لا يتم إعادة تعيين المتغير. ومع ذلك، لا يزال بإمكانك استخدام const للمتغيرات التي هي كائنات أو صفائف، حتى إذا كنت تخطط لإعادة تعيين عناصرها المتداخلة.
يرجى ملاحظة أنك تحتاج إلى وحدات وتحديد المتغيرات الثابتة دائمًا باستخدام الكلمة الأساسية const.
استخدم الكلمة الأساسية Let عندما لا تتمكن من استخدام const، واستخدم الكلمة الأساسية var فقط إذا كنت بحاجة إلى دعم المتصفحات الأقدم.
منح امتياز بناء جملة دالة السهم للبديل التقليدي كلما كان ذلك ممكنًا.
تسمية
يجب أن تكون أسماء المتغيرات والوظائف والأساليب والمعلمات ذاتية الوصف، مما يعني أنه يجب أن يكون أي شخص قادرًا على معرفة (أو على الأقل التخمين العادل) حول البيانات المضمنة بمجرد النظر إلى أسمائهم.
يجب أن تكون المتغيرات الثابتة بأحرف كبيرة، مع فصل الكلمات بشرطات سفلية. يجب أن تتبع الوظائف والمتغيرات والأساليب بناء جملة CamelCase، بينما يجب أن تتبع فئات ومعرفات CSS بناء جملة حالة الكباب.
تعليقات
لا ينبغي كتابة التعليقات التي تصف الوظائف حيث يتم استدعاؤها ولكن حيث يتم تعريفها.
بخصوص عبارات if، يجب وضع التعليقات بعد العبارات الشرطية.
if (conditionIsTrue) { // Put your comment here doSomeThing(); } else { // Put your comment here doSomethingElse(); }تذكر استخدام الشرطة المائلة المزدوجة // للتعليقات المكونة من سطر واحد و/* */ للتعليقات متعددة الأسطر. عند إضافة تعليقات متعددة الأسطر إلى رمز من سطر واحد أو عبارات شرطية، ضعها داخل /* */ بحيث يتم كتابة /* أمام الكود، ويبدأ التعليق في السطر التالي، ويتم كتابة */ في سطر جديد خط.
if (conditionIsTrue) { // Put your comment here doSomeThing(); } else { // Put your comment here doSomethingElse(); }وظيفة التعليقات الوصفية
if (conditionIsTrue) { // Put your comment here doSomeThing(); } else { // Put your comment here doSomethingElse(); }
فيما يتعلق بوظائف الخادم ذات معلمات req وres، ليست هناك حاجة لوصف معلمات الطلب؛ قم بوصف الاستجابة فقط باستخدام وصفreturns./** * وصف الوظيفة هنا * @إرجاع الوصف */ اسم الوظيفة = (req, res) => { doSomeThing(); }
if (conditionIsTrue) { // Put your comment here doSomeThing(); } else { // Put your comment here doSomethingElse(); }
بشكل عام، ليست هناك حاجة لوصف المعلمات req و res و next و to و from.const calc_result = (firstNumber * SecondNumber)/* شرح سبب الضرب */ ThirdNumber;في ملفات HTML، استخدم لفصل الأجزاء المختلفة من الكود؛ وبالتالي يمكن للمستخدم التعرف على كل جزء بسهولة.
في حالة كتابة تعليقات في منتصف سطر من التعليمات البرمجية، استخدم /* */.
if (conditionIsTrue) { // Put your comment here doSomeThing(); } else { // Put your comment here doSomethingElse(); }المسافة البادئة
تذكر دائمًا وضع مسافات حول التعبيرات وعوامل التشغيل والرموز، وأيضًا بعد الفواصل والأقواس المتعرجة، إذا كانت
ليست الأحرف الأخيرة في السطر.
يُسمح بالأسطر الفارغة (والمطلوبة) فقط في نهاية الملف (يجب أن تنتهي جميع الملفات بسطر فارغ)، بعد آخر وحدة مستوردة، مع فصل علامات القالب والبرنامج النصي والنمط، وبين مجموعات قواعد CSS.
تذكر استخدام Tab للمسافة البادئة والمسافة للمحاذاة.
علاوة على ذلك، على الرغم من أن الالتزام الصارم بهذه القواعد قد يبدو صعبًا في البداية، إلا أنه يصبح أكثر وضوحًا مع الممارسة.
حقوق صورة الغلاف: تصوير لويس جوميز من Pexels
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3