دليل النمط لجافا سكريبت

استخدم دائمًا نفس الاتفاقيات البرمجية لجميع مشاريعك الخاصة بالجافا سكريبت.

اتفاقيات جافا سكريبت

الاتفاقيات البرمجية (Coding conventions) تشير إلى:إرشادات النمط البرمجي للبرمجةهذه المبادئ تشمل بشكل عام:

  • قواعد تسمية المتغيرات والوظائف وبيانها
  • قواعد استخدام الفراغات والتباين والإشارات التعليقية
  • عادات البرمجة والقواعد

الاتفاقيات البرمجيةتأكد من جودة:

  • تحسين قابلية قراءة الكود
  • تحسين قابلية الصيانة للكود

يمكن أن تكون القواعد النصية للاتفاقيات هي القواعد التي تتبعها الفريق، أو العادات الشخصية للبرمجة.

هذه الصفحة توضح القواعد العامة للجافا سكريبت التي تستخدمها CodeW3C.com.

يجب أن تستمر في قراءة الفصل التالي

变量名

在 CodeW3C.com,我们对标识符名称(变量和函数)使用了驼峰式大小写.

所有名称以字母开头。

在本页的底部,我们会更广泛地讨论命名规则。

firstName = "Bill";
lastName = "Gates";
price = 19.90;
tax = 0.20;
fullPrice = price + (price * tax);

运算符周围的空格

请始终在运算符( = + - * / )周围以及逗号之后添加空格:

مثال

var x = y + z;
var values = ["Volvo", "Saab",  "Fiat"];

代码缩进

请始终使用对代码块缩进使用 4 个空格:

函数

function toCelsius(fahrenheit) {
    return (5 / 9) * (fahrenheit - 32);
}

请不要对缩进使用制表符。不同的编辑器对 tab 的解释也不尽相同。

语句规则

简单语句的通用规则:

请始终以分号结束单条语句:

مثال

var values = ["Volvo", "Saab",  "Fiat"];
var person = {
    firstName: "Bill",
     lastName: "Gates",
    age: 50,
    eyeColor:  "blue"
};

针对复杂语句(compound)的通用规则:

  • 请在第一行的结尾处写开括号
  • 请在开括号前使用一个空格
  • 请在新行上写闭括号,不带前导空格
  • 请不要以分号来结束复杂语句

函数:

function toCelsius(fahrenheit) {
    return (5 / 9) * (fahrenheit - 32);
}

循环:

for (i = 0; i < 5; i++) {
    x += i;
}

条件:

if (time < 20) {
    greeting = "Good day";
} else {
     greeting = "Good evening";
}

对象规则

针对对象定义的通用规则:

  • 把开括号与对象名放在同一行
  • 在每个属性与其值之间使用冒号加一个空格
  • 不要在最后一个属性值对后面写逗号
  • 请在新行上写闭括号,不带前导空格
  • 请始终以分号结束对象定义

مثال

var person = {
    firstName: "Bill",
    lastName: "Gates",
    age: 19,
    eyeColor:  "blue"
};

可以对短对象在一行中进行压缩,只在属性之间使用空格,就像这样:

var person = {firstName:"Bill", lastName:"Gates", age:50, eyeColor:"blue"};

طول السطر أقل من 80

لتحسين القابلة للقراءة، يُفضل تجنب تجاوز طول السطر 80 حرفًا.

إذا كان جملة JavaScript تفوق طول سطر واحد، فإن أفضل مكان للتنفس هو بعد العلامة الحسابية أو الcomma.

مثال

document.getElementById("demo").innerHTML =
    "Hello Kitty."; 

جربها بنفسك

اتفاق الأسماء

استخدم دائمًا نفس اتفاق الأسماء في جميع كودك. على سبيل المثال:

  • أسماء المتغيرات والوظائف يجب أن تكونالكتابة بالحروف الكبيرة المتسلسلةلنكتبها
  • استخدامها في المتغيرات العالميةاستخدام الحروف الكبيرة(نحن لا نفعل ذلك، ولكن هو شائع للغاية)
  • استخدامها في القيم الثابتة (مثل PI)استخدام الحروف الكبيرة

هل يجب أن نستخدمها في أسماء المتغيرات؟الخط الفاصل الأفقي،الكتابة بالحروف الكبيرة المتسلسلةأوالخط الفاصل الأفقيهل هذا صحيح؟

هذا هو السؤال الذي يتم مناقشته من قبل البرمجيين. الإجابة تعتمد على من يجيب على هذا السؤال:

الهوامش في HTML و CSS:

يمكن أن تبدأ خصائص HTML5 بـ data- (data-quantity, data-price).

يستخدم الهوامش في أسماء الخاصيات في CSS (font-size).

يُمكن أن يتم تفسير الهوامش على أنها علامات جمع خطأ. لا يُسمح باستخدام الهوامش في أسماء JavaScript.

الخط الفاصل الأفقي:

يحب العديد من البرمجيين استخدام الخط الفاصل الأفقي (date_of_birth)، خاصةً في قواعد البيانات SQL.

يستخدم الخط الفاصل الأفقي في موارد PHP.

طريقة التسمية الباسكال (PascalCase):

يستخدم برمجيون لغة C غالبًا طريقة التسمية الباسكال.

الكتابة بالحروف الكبيرة المتسلسلة (camelCase):

استخدم JavaScript نفسه، jQuery، وغيرها من مكتبات JavaScript بالكتابة بالحروف الكبيرة المتسلسلة.

لا تبدأ أسماء JavaScript برمز $، هذا قد يؤدي إلى تصادم أسماء库名 JavaScript.

تحميل JavaScript في HTML

استخدم جملة بسيطة لتحميل سكريبتات خارجية (لا يتطلب استخدام خاصية نوع):

<script src="myscript.js"></script>

زيارة العناصر HTML

تأثير استخدام نمط HTML غير النظيف، قد يكون سببًا لخطأ في JavaScript.

هذه الكلمات المكتوبة بلغة JavaScript ستجلب نتائج مختلفة:

var obj = getElementById("Demo")
var obj = getElementById("demo") 

إذا كان ذلك ممكنًا، استخدم نفس اتفاق الأسماء في HTML (مثل JavaScript).

زيارة دليل النمط لـ HTML.

امتداد الملف

يجب استخدام امتداد .html لملفات HTML .html الامتداد (بدلاً من .htm)

يجب استخدام امتداد .css لملفات CSS .css الامتداد

يجب استخدام امتداد .js لملفات JavaScript .js الامتداد

استخدام أسماء ملفات صغيرة الحجم

معظم خوادم الويب (مثل Apache وUnix) حساسون للحروف في أسماء الملفات.

london.jpg لا يمكن الوصول إليه كـ London.jpg.

معظم خوادم الويب (مثل IIS من مايكروسوفت) غير حساسين للحروف.

london.jpg يمكن الوصول إليه كـ London.jpg أو london.jpg.

إذا كنت تخلط بين الحروف الكبيرة والصغيرة، يجب أن تتبع تنسيقًا متسقًا ومتواصلًا.

إذا قمت بتحويل الموقع من خادم غير حساس للحروف إلى خادم حساس للحروف، حتى هذه الأخطاء الصغيرة قد تؤدي إلى تدمير موقعك.

لتفادي هذه المشاكل، يُفضل دائمًا استخدام أسماء ملفات صغيرة الحجم (إذا كان ذلك ممكنًا).

السرعة

المحاسبات لا تستخدم اتفاقيات الكود. معظم القواعد لا تؤثر بشكل كبير على أداء البرنامج.

التباعد والفضاءات الإضافية ليست مهمة في الكود القصير.

للبرمجيات التي تُطوّر، يجب أن يتم التركيز أولاً على القدرة على القراءة. يجب تقليل الكود الكبير في الإنتاج.